INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-master-uc-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._ignhk35', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root', '/var/lib/mock/dlrn-centos9-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-master-uc/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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', '1026', '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-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-master-uc-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.xcskx463', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root', '/var/lib/mock/dlrn-centos9-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-master-uc/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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', '1026', '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-master-uc-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.5s) DEBUG util.py:445: [pbr] Generating AUTHORS DEBUG util.py:445: [pbr] AUTHORS complete (1.2s) DEBUG util.py:445: running egg_info DEBUG util.py:445: creating ironic.egg-info DEBUG util.py:445: writing pbr to ironic.egg-info/pbr.json DEBUG util.py:445: writing ironic.egg-info/PKG-INFO DEBUG util.py:445: writing dependency_links to ironic.egg-info/dependency_links.txt DEBUG util.py:445: writing entry points to ironic.egg-info/entry_points.txt DEBUG util.py:445: writing requirements to ironic.egg-info/requires.txt DEBUG util.py:445: writing top-level names to ironic.egg-info/top_level.txt DEBUG util.py:445: [pbr] 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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-master-uc-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.8bl8ey7w', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root', '/var/lib/mock/dlrn-centos9-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-master-uc/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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', '1026', '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-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-master-uc-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.kv2ny2ra', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root', '/var/lib/mock/dlrn-centos9-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-master-uc/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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', '1026', '-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-master-uc-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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.20230216203352.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-master-uc-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-ansible-role-lunasa-hsm-c867490aa78178 8.3 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-networking-baremetal-7aa64513df 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-1f87e459860e23afe3e54 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-openstackclient-c29e05764b3b0d8 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-110d1367156eae69f 13 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tobiko-205b496e3706c50ef39f5 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-e255323f46cdbc9fbb548d6 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-309ca3aec26b6dd49b8d9 20 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-4121cf6cb7c3d5e585d 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-0c8cc2333b881af3cb320 11 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-whitebox-neutron-tests-tempest- 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-9f1a6e47d7eb77492bfc 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-tcib-a14a60e074a3ed7f250a9acbee 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-puppet-ironic-3817181245fd59bf7282b196 307 kB/s | 141 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-27ef11ea14240d8611dd1c 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-905da972c9f5c8c78b65 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-ui-055a1a819fe1f2b537e 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 15 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 14 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 24 kB/s | 5.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 21 kB/s | 5.4 kB 00:00 DEBUG util.py:445: dlrn-master-testing 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-master-build-deps 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 8.7 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 9.9 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 12 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Extra Packages for Enterprise Linux 9 - x86_64 59 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-master-uc-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.20230216203352.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-master-uc-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-master-uc-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=1026gid=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.20240318180950.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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-master-uc-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.93c51wz4', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root', '/var/lib/mock/dlrn-centos9-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-master-uc/data/repos/component/baremetal/99/b1/99b1f9c47985be3a93a71558b444badfec0e16fd_968b1a64 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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', '1026', '-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-master-uc-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-master-uc-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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.20230216203352.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-master-uc-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-ansible-role-lunasa-hsm-c867490aa78178 13 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-networking-baremetal-7aa64513df 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-1f87e459860e23afe3e54 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-openstackclient-c29e05764b3b0d8 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-ceilometer-110d1367156eae69f 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tobiko-205b496e3706c50ef39f5 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-e255323f46cdbc9fbb548d6 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-309ca3aec26b6dd49b8d9 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-4121cf6cb7c3d5e585d 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-0c8cc2333b881af3cb320 16 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-whitebox-neutron-tests-tempest- 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-9f1a6e47d7eb77492bfc 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-tcib-a14a60e074a3ed7f250a9acbee 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-puppet-ironic-3817181245fd59bf7282b196 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-27ef11ea14240d8611dd1c 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-905da972c9f5c8c78b65 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-ui-055a1a819fe1f2b537e 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 17 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 19 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 19 kB/s | 5.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 20 kB/s | 5.4 kB 00:00 DEBUG util.py:445: dlrn-master-testing 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-master-build-deps 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 13 kB/s | 3.0 kB 00:00 DEBUG util.py:445: Extra Packages for Enterprise Linux 9 - x86_64 68 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-master-uc-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.20230216203352.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-master-uc-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.20240318180950.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.2024031818######################################## 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.20240318180950.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.20240318180950.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-master-uc-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=1026gid=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.20240318180950.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-master-uc-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.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-master-uc-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-master-uc-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.src.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-master-uc-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:04 ago on Mon Mar 18 18:13:17 2024. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20230216203352.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-master-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-master-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-master-testing 19 k DEBUG util.py:445: python3-fixtures noarch 4.0.1-1.el9s delorean-master-testing 93 k DEBUG util.py:445: python3-iso8601 noarch 1.1.0-1.el9s delorean-master-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-master-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-master-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-master-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-master-testing 50 k DEBUG util.py:445: python3-sqlparse noarch 0.4.2-4.el9s delorean-master-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-master-testing 90 k DEBUG util.py:445: python3-tempita noarch 0.5.2-2.el9s delorean-master-testing 36 k DEBUG util.py:445: python3-testresources noarch 2.0.1-2.el9s delorean-master-testing 59 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-21.el9s delorean-master-testing 37 k DEBUG util.py:445: python3-testtools noarch 2.7.1-1.el9s delorean-master-testing 326 k DEBUG util.py:445: python3-wrapt x86_64 1.16.0-1.el9s delorean-master-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: Total download size: 679 k 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] 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: (41/50): python-oslo-db-lang-15.0.0-0.202402291 45 kB/s | 12 kB 00:00 DEBUG util.py:445: (42/50): python-oslo-i18n-lang-6.3.0-0.20240226 50 kB/s | 14 kB 00:00 DEBUG util.py:445: (43/50): python-oslo-utils-lang-7.1.0-0.2024022 44 kB/s | 12 kB 00:00 DEBUG util.py:445: (44/50): python3-oslo-db+mysql-15.0.0-0.2024022 323 kB/s | 7.8 kB 00:00 DEBUG util.py:445: (45/50): python3-debtcollector-3.0.0-0.20240226 460 kB/s | 31 kB 00:00 DEBUG util.py:445: (46/50): python3-oslo-db-15.0.0-0.2024022914075 1.4 MB/s | 123 kB 00:00 DEBUG util.py:445: (47/50): python3-oslo-config-9.4.0-0.2024031515 1.6 MB/s | 215 kB 00:00 DEBUG util.py:445: (48/50): python3-oslo-db-tests-15.0.0-0.2024022 1.6 MB/s | 127 kB 00:00 DEBUG util.py:445: (49/50): python3-oslo-i18n-6.3.0-0.202402261938 1.4 MB/s | 60 kB 00:00 DEBUG util.py:445: (50/50): python3-oslo-utils-7.1.0-0.20240226204 1.9 MB/s | 77 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 1.5 MB/s | 679 kB 00:00 DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-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-master-uc-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.20230216203352.ce6a105.el9.noarch 1676580201 45488 28b7a790691a2de3c60f48a330bc27dc 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-master-uc-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.20230216203352.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-master-uc-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=1026gid=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.MY2208 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.20240318180950.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.gxMWIj 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.20240318180950.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.20240318180950.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.20240318180950.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-master-uc-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.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-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-master-uc-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:16 ago on Mon Mar 18 18:13:17 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.20230216203352.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-master-uc-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.20230216203352.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-master-uc-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.20230216203352.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-master-uc-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=1026gid=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.e2K8yL 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/tar -xof - DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-24.0.1.dev106-0.20240318180950.99b1f9c.tar.gz 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: Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.HfKqDO 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: + 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.20240318180950.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.20240318180950.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.20240318180950.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-master-uc-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.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-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-master-uc-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:25 ago on Mon Mar 18 18:13:17 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.20230216203352.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-master-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-master-build-deps 193 k DEBUG util.py:445: python3-filelock noarch 3.13.1-1.el9s delorean-master-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-master-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-master-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-master-uc-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.20230216203352.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-master-uc-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.20230216203352.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-master-uc-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=1026gid=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.9omchS 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.20240318180950.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.idKCmR 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.20240318180950.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 pbr to ironic.egg-info/pbr.json 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: [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.20240318180950.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: Wrote: /builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.buildreqs.nosrc.rpm DEBUG util.py:445: + exit 0 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-master-uc-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.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-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-master-uc-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:39 ago on Mon Mar 18 18:13:17 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.20230216203352.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-master-testing 115 k DEBUG util.py:445: python3-coverage x86_64 7.3.2-2.el9s delorean-master-testing 292 k DEBUG util.py:445: python3-ddt noarch 1.6.0-1.el9s delorean-master-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-master-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-master-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-master-testing 139 k DEBUG util.py:445: python3-pyasn1-modules noarch 0.5.1-3.el9s delorean-master-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-master-testing 587 k DEBUG util.py:445: python3-stestr noarch 4.1.0-1.el9s delorean-master-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-master-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-master-testing 230 k DEBUG util.py:445: python3-webtest noarch 3.0.0-1.el9s delorean-master-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-master-testing 93 k DEBUG util.py:445: python3-async-timeout noarch 4.0.2-5.el9s delorean-master-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-master-testing 59 k DEBUG util.py:445: python3-bcrypt x86_64 3.2.2-4.el9s delorean-master-testing 43 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.12.3-2.el9s delorean-master-testing 250 k DEBUG util.py:445: python3-binary-memcached noarch 0.31.2-1.el9s delorean-master-testing 37 k DEBUG util.py:445: python3-cachetools noarch 5.3.2-2.el9s delorean-master-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-master-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-master-testing 102 k DEBUG util.py:445: python3-etcd3gw noarch 2.4.0-1.el9s delorean-master-testing 46 k DEBUG util.py:445: python3-fasteners noarch 0.19-1.el9s delorean-master-testing 37 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-3.el9s delorean-master-testing 22 k DEBUG util.py:445: python3-importlib-metadata noarch 6.8.0-1.el9s delorean-master-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-master-testing 10 k DEBUG util.py:445: python3-jaraco-classes noarch 3.2.1-5.el9s delorean-master-testing 18 k DEBUG util.py:445: python3-jeepney noarch 0.8.0-3.el9s delorean-master-testing 345 k DEBUG util.py:445: python3-jmespath noarch 1.0.1-1.el9s delorean-master-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-master-testing 45 k DEBUG util.py:445: python3-kazoo noarch 2.8.0-2.el9s delorean-master-testing 156 k DEBUG util.py:445: python3-keyring noarch 24.3.0-4.el9s delorean-master-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-master-testing 337 k DEBUG util.py:445: python3-logutils noarch 0.3.5-15.el9s delorean-master-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-master-testing 39 k DEBUG util.py:445: python3-more-itertools noarch 10.1.0-1.el9s delorean-master-testing 83 k DEBUG util.py:445: python3-msgpack x86_64 1.0.7-1.el9s delorean-master-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-master-testing 474 k DEBUG util.py:445: python3-paste-deploy noarch 3.1.0-2.el9s delorean-master-testing 38 k DEBUG util.py:445: python3-platformdirs noarch 3.11.0-1.el9s delorean-master-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-master-testing 91 k DEBUG util.py:445: python3-pyOpenSSL noarch 20.0.1-2.el9s delorean-master-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-master-testing 120 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-8.el9s delorean-master-testing 51 k DEBUG util.py:445: python3-pyperclip noarch 1.8.2-2.el9s delorean-master-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-master-testing 408 k DEBUG util.py:445: python3-redis noarch 5.0.1-1.el9s delorean-master-testing 392 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-10.el9s delorean-master-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-master-testing 188 k DEBUG util.py:445: python3-secretstorage noarch 3.3.1-1.el9s delorean-master-testing 35 k DEBUG util.py:445: python3-smi-lextudio noarch 1.1.13-1.el9s delorean-master-testing 133 k DEBUG util.py:445: python3-soupsieve noarch 2.5-1.el9s delorean-master-testing 73 k DEBUG util.py:445: python3-statsd noarch 3.2.1-20.el9s delorean-master-testing 34 k DEBUG util.py:445: python3-tomlkit noarch 0.12.3-3.el9s delorean-master-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-master-testing 24 k DEBUG util.py:445: python3-vine noarch 5.1.0-1.el9s delorean-master-testing 25 k DEBUG util.py:445: python3-voluptuous noarch 0.14.2-1.el9s delorean-master-testing 60 k DEBUG util.py:445: python3-waitress noarch 2.1.2-1.el9s delorean-master-testing 93 k DEBUG util.py:445: python3-warlock noarch 2.0.1-3.el9s delorean-master-testing 20 k DEBUG util.py:445: python3-wcwidth noarch 0.2.6-1.el9s delorean-master-testing 42 k DEBUG util.py:445: python3-yappi x86_64 1.3.6-1.el9s delorean-master-testing 55 k DEBUG util.py:445: python3-zake noarch 0.2.2-22.el9s delorean-master-testing 45 k DEBUG util.py:445: python3-zeroconf noarch 0.38.7-1.el9s delorean-master-testing 141 k DEBUG util.py:445: python3-zipp noarch 3.6.0-1.el9s delorean-master-testing 16 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-2.el9s delorean-master-testing 225 k DEBUG util.py:445: Installing weak dependencies: DEBUG util.py:445: python3-jwt+crypto noarch 2.6.0-2.el9s delorean-master-testing 9.0 k DEBUG util.py:445: python3-keyring+completion noarch 24.3.0-4.el9s delorean-master-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: Total download size: 2.7 M DEBUG util.py:445: Installed size: 59 M DEBUG util.py:445: Downloading Packages: 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] 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-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-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: (84/121): python-oslo-cache-lang-3.7.0-0.202402 80 kB/s | 16 kB 00:00 DEBUG util.py:445: (85/121): python3-ironic-lib-6.0.0-0.2024022620 675 kB/s | 153 kB 00:00 DEBUG util.py:445: (86/121): python-oslo-concurrency-lang-6.0.0-0. 411 kB/s | 13 kB 00:00 DEBUG util.py:445: (87/121): python-oslo-log-lang-5.5.0-0.20240226 418 kB/s | 13 kB 00:00 DEBUG util.py:445: (88/121): python3-sushy-5.0.0-0.20240226191521. 699 kB/s | 187 kB 00:00 DEBUG util.py:445: (89/121): python-oslo-middleware-lang-6.1.0-0.2 242 kB/s | 11 kB 00:00 DEBUG util.py:445: (90/121): python-oslo-policy-lang-4.3.0-0.20240 325 kB/s | 12 kB 00:00 DEBUG util.py:445: (91/121): python-oslo-versionedobjects-lang-3.3 216 kB/s | 12 kB 00:00 DEBUG util.py:445: (92/121): python-pycadf-common-3.1.1-0.20230706 210 kB/s | 14 kB 00:00 DEBUG util.py:445: (93/121): python3-automaton-3.2.0-0.20230904140 723 kB/s | 41 kB 00:00 DEBUG util.py:445: (94/121): python3-cliff-4.6.0-0.20240226181305. 999 kB/s | 93 kB 00:00 DEBUG util.py:445: (95/121): python3-futurist-3.0.0-0.202402261819 800 kB/s | 61 kB 00:00 DEBUG util.py:445: (96/121): python3-os-traits-3.0.0-0.20230718121 642 kB/s | 48 kB 00:00 DEBUG util.py:445: (97/121): python3-oslo-cache+dogpile-3.7.0-0.20 295 kB/s | 8.0 kB 00:00 DEBUG util.py:445: (98/121): python3-oslo-cache+etcd3gw-3.7.0-0.20 171 kB/s | 7.9 kB 00:00 DEBUG util.py:445: (99/121): python3-oslo-cache-3.7.0-0.2024022707 1.1 MB/s | 62 kB 00:00 DEBUG util.py:445: (100/121): python3-oslo-context-5.5.0-0.2024030 694 kB/s | 26 kB 00:00 DEBUG util.py:445: (101/121): python3-oslo-concurrency-6.0.0-0.202 865 kB/s | 41 kB 00:00 DEBUG util.py:445: (102/121): python3-oslo-log-5.5.0-0.20240226183 1.2 MB/s | 75 kB 00:00 DEBUG util.py:445: (103/121): python3-oslo-messaging+amqp1-14.6.0- 157 kB/s | 8.0 kB 00:00 DEBUG util.py:445: (104/121): python3-oslo-metrics-0.8.0-0.2024022 877 kB/s | 23 kB 00:00 DEBUG util.py:445: (105/121): python3-oslo-middleware-6.1.0-0.2024 1.2 MB/s | 56 kB 00:00 DEBUG util.py:445: (106/121): python3-oslo-policy-4.3.0-0.20240226 1.4 MB/s | 74 kB 00:00 DEBUG util.py:445: (107/121): python3-oslo-messaging-14.6.0-0.2024 1.8 MB/s | 222 kB 00:00 DEBUG util.py:445: (108/121): python3-oslo-reports-3.3.0-0.2024022 884 kB/s | 57 kB 00:00 DEBUG util.py:445: (109/121): python3-oslo-rootwrap-7.2.0-0.202402 735 kB/s | 43 kB 00:00 DEBUG util.py:445: (110/121): python3-oslo-serialization-5.4.0-0.2 512 kB/s | 32 kB 00:00 DEBUG util.py:445: (111/121): python3-oslo-upgradecheck-2.3.0-0.20 656 kB/s | 26 kB 00:00 DEBUG util.py:445: (112/121): python3-oslo-service-3.4.0-0.2024022 1.0 MB/s | 68 kB 00:00 DEBUG util.py:445: (113/121): python3-oslo-versionedobjects-3.3.0- 1.3 MB/s | 76 kB 00:00 DEBUG util.py:445: (114/121): python3-pycadf-3.1.1-0.2023070615034 947 kB/s | 55 kB 00:00 DEBUG util.py:445: (115/121): python3-requestsexceptions-1.4.0-0.2 331 kB/s | 15 kB 00:00 DEBUG util.py:445: (116/121): python3-osprofiler-4.1.0-0.202307140 1.2 MB/s | 134 kB 00:00 DEBUG util.py:445: (117/121): python3-tooz+redis-6.0.0-0.202402291 175 kB/s | 7.7 kB 00:00 DEBUG util.py:445: (118/121): python3-tooz+zake-6.0.0-0.2024022914 139 kB/s | 7.7 kB 00:00 DEBUG util.py:445: (119/121): python3-tooz-6.0.0-0.20240229141453. 1.2 MB/s | 103 kB 00:00 DEBUG util.py:445: (120/121): python3-pyasn1-modules-0.5.1-3.el9s. 1.3 MB/s | 249 kB 00:00 DEBUG util.py:445: (121/121): python3-pysnmp-lextudio-5.0.26-2.el9 2.0 MB/s | 587 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 2.3 MB/s | 2.7 MB 00:01 DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-webob-1.8.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-master-uc-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.20230216203352.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-master-uc-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.20230216203352.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-master-uc-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=1026gid=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.DzkoNN 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.20240318180950.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.Z1T4dD 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.20240318180950.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 pbr to ironic.egg-info/pbr.json 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: [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.20240318180950.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.20240318180950.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-master-uc-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.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-master-uc-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-master-uc-x86_64-5/root/builddir/build/SRPMS/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.buildreqs.nosrc.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-master-uc-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:54 ago on Mon Mar 18 18:13:17 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.20230216203352.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-master-uc-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.20230216203352.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-master-uc-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=1026gid=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.wkhiI3 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.20240318180950.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 pbr to ironic.egg-info/pbr.json 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: [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.20240318180950.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.hk7eaD 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/tmpssyybox9 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-sd9akk24/ironic.egg-info DEBUG util.py:443: writing pbr to /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-sd9akk24/ironic.egg-info/pbr.json DEBUG util.py:443: writing /builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-sd9akk24/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-sd9akk24/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-sd9akk24/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-sd9akk24/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-sd9akk24/ironic.egg-info/top_level.txt 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-sd9akk24/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-sd9akk24/ironic.egg-info/SOURCES.txt' DEBUG util.py:443: creating '/builddir/build/BUILD/ironic-24.0.1.dev106/.pyproject-builddir/pip-modern-metadata-sd9akk24/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/tmpf1l__dai 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/unit 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/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/drivers DEBUG util.py:443: creating build/lib/ironic/drivers/modules 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/functional DEBUG util.py:443: copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional 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: 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 DEBUG util.py:443: creating build/lib/ironic/tests/unit/drivers/modules 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/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: 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/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/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/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: 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: 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/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/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: 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/drivers/modules/inspector 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/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/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/api 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/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: 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: 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: 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/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/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/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: 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: 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: 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/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: creating build/lib/ironic/tests/unit/db 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: 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: 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/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/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/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/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/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/tests/unit/api/controllers 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: copying ironic/__init__.py -> build/lib/ironic DEBUG util.py:443: copying ironic/version.py -> build/lib/ironic 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/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/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/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/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: 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/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/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: 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/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/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/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/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/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/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/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: running egg_info DEBUG util.py:443: writing pbr to ironic.egg-info/pbr.json 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: [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: 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/drivers/raid_config_schema.json -> build/lib/ironic/drivers 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/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/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/inspector/hooks/known_accelerators.yaml -> build/lib/ironic/drivers/modules/inspector/hooks 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: 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: 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: 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/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/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/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 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.1s) 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/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/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: 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/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/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/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/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/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/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: 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/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/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/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/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: 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/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/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/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/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/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: 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/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: 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/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/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/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/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: creating build/bdist.linux-x86_64/wheel/ironic/tests/unit 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/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/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: 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/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: creating 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: 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: 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/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: 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/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/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/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/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/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/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: 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/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/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/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/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/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/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: 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/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: 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/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: 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-5hve20fq/tmpio1pqu5w/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=2027630 sha256=483a0a28dd134cc773c7e25f2bb48496e1b3ae2ed2d730f38b9abcc36a1ae8da 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.o3vTfe 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.20240318180950.99b1f9c.el9.x86_64 '!=' / ']' DEBUG util.py:445: + rm -rf /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64 DEBUG util.py:443: ++ dirname /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.x86_64 DEBUG util.py:445: + cd ironic-24.0.1.dev106 DEBUG util.py:443: ++ xargs basename --multiple 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: ++ 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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-api /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-api-wsgi /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-conductor /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-dbsync /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-pxe-filter /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-rootwrap /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-status DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-api: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-api-wsgi: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-conductor: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-dbsync: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-pxe-filter: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-rootwrap: updating DEBUG util.py:445: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/ironic-status: updating DEBUG util.py:445: + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/bin/__pycache__ DEBUG util.py:445: + rm -f /builddir/build/BUILD/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/usr/lib64/python3.9/site-packages '!=' /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages ']' DEBUG util.py:445: + '[' -d /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64 --record /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.x86_64-pyproject-record DEBUG util.py:445: + rm -fv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-24.0.1.dev106.dist-info/REQUESTED' DEBUG util.py:445: + rm -fv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/etc/logrotate.d/openstack-ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/usr/lib/systemd/system DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/etc/sudoers.d/ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/var/lib/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/var/log/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/etc/ironic/rootwrap.d DEBUG util.py:445: + export PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64//usr/lib/python3.9/site-packages DEBUG util.py:445: + PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64//etc/ironic/rootwrap.conf DEBUG util.py:445: + mv /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64//etc/ironic/rootwrap.d/ DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9 --unique-debug-suffix -24.0.1-0.20240318180950.99b1f9c.el9.x86_64 --unique-debug-src-base openstack-ironic-24.0.1-0.20240318180950.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.20240318180950.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.40p9Yt 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.20240318180950.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.20240318180950.99b1f9c.el9.x86_64/usr/lib64/python3.9/site-packages:/builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.393433s] ... 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-04094960-e528-4b9e-9382-97989ca10559 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-ac5de882-1896-44a7-8e8e-13dd0f4c0b7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.056806s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/chassis/0e1f17d6-cf93-4b14-b7a1-e7e041fa10a2 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1eb7ed1a-f3cc-4808-9163-2760b943f1c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 0e1f17d6-cf93-4b14-b7a1-e7e041fa10a2 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.048436s] ... 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-f9b4409a-68e5-4f5e-86bf-ca5b420edf0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.029950s] ... 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-e35bd5c6-657c-4a52-be8b-adb8a253e919 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_conductor.TestListConductors.test_collection_links [0.038740s] ... 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-22648dde-96ef-45c0-b124-159e64d29b85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9a6c9703-2f43-45f4-a9a8-58ab3eb14b33", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/9a6c9703-2f43-45f4-a9a8-58ab3eb14b33", "rel": "self"}, {"href": "http://localhost/conductors/9a6c9703-2f43-45f4-a9a8-58ab3eb14b33", "rel": "bookmark"}], "alive": true}, {"hostname": "99fa5492-8c77-4430-9317-411b07f6a157", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/99fa5492-8c77-4430-9317-411b07f6a157", "rel": "self"}, {"href": "http://localhost/conductors/99fa5492-8c77-4430-9317-411b07f6a157", "rel": "bookmark"}], "alive": true}, {"hostname": "24681292-1091-4016-b053-9fdc005a5d3d", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/24681292-1091-4016-b053-9fdc005a5d3d", "rel": "self"}, {"href": "http://localhost/conductors/24681292-1091-4016-b053-9fdc005a5d3d", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=24681292-1091-4016-b053-9fdc005a5d3d"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.042612s] ... 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-d5ebed4e-f2f6-470d-bfcf-9203db085219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "e76df102-a74c-4ef2-b968-42828699a8dd", "links": [{"href": "http://localhost/v1/conductors/e76df102-a74c-4ef2-b968-42828699a8dd", "rel": "self"}, {"href": "http://localhost/conductors/e76df102-a74c-4ef2-b968-42828699a8dd", "rel": "bookmark"}], "alive": true}, {"hostname": "824e146f-6115-45cb-b968-acc96005c8b3", "links": [{"href": "http://localhost/v1/conductors/824e146f-6115-45cb-b968-acc96005c8b3", "rel": "self"}, {"href": "http://localhost/conductors/824e146f-6115-45cb-b968-acc96005c8b3", "rel": "bookmark"}], "alive": true}, {"hostname": "bf77f2e6-1180-4247-95e4-9f9e840f7bab", "links": [{"href": "http://localhost/v1/conductors/bf77f2e6-1180-4247-95e4-9f9e840f7bab", "rel": "self"}, {"href": "http://localhost/conductors/bf77f2e6-1180-4247-95e4-9f9e840f7bab", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=bf77f2e6-1180-4247-95e4-9f9e840f7bab"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.033529s] ... 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-bfaefcd1-af5a-46c5-bb89-6a8a5274439a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "bc086539-5bbe-4a2a-a66c-7a59072430ac", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/bc086539-5bbe-4a2a-a66c-7a59072430ac", "rel": "self"}, {"href": "http://localhost/conductors/bc086539-5bbe-4a2a-a66c-7a59072430ac", "rel": "bookmark"}], "alive": true}, {"hostname": "9c4151d9-07f7-4f76-9d6c-d9c23646458e", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/9c4151d9-07f7-4f76-9d6c-d9c23646458e", "rel": "self"}, {"href": "http://localhost/conductors/9c4151d9-07f7-4f76-9d6c-d9c23646458e", "rel": "bookmark"}], "alive": true}, {"hostname": "98efe5f5-206d-4af3-baaa-3bfab6f6e9d7", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/98efe5f5-206d-4af3-baaa-3bfab6f6e9d7", "rel": "self"}, {"href": "http://localhost/conductors/98efe5f5-206d-4af3-baaa-3bfab6f6e9d7", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=98efe5f5-206d-4af3-baaa-3bfab6f6e9d7"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.025649s] ... 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-edac52e7-b41b-406c-a89a-c8b1a6dbf67f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.033852s] ... 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-ea86240e-1c72-4de3-b975-12e11b81b9f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.045440s] ... 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-b495f9b9-d68f-4af3-b9de-4ea78038c5c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_conductor.TestListConductors.test_get_one [0.111021s] ... 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-6d347756-e50e-4c54-8bee-4be68de82468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.429469+00:00", "updated_at": "2024-03-18T18:15:40.429249+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: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.035779s] ... 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-d885aac5-e352-47f4-9624-62ed0154b128 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.042991s] ... 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-0bc4bcef-197f-41a0-bf7d-2cfd601b2328 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.040604s] ... 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-61d5fdb6-927e-474e-b056-c194e6e70649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.200475s] ... 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: {0} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.026756s] ... 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.controllers.v1.test_conductor.TestListConductors.test_get_one_with_port_and_v6 [0.042610s] ... 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-89f8448a-396e-4721-945c-36bcc5f829e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.623193+00:00", "updated_at": "2024-03-18T18:15:40.622952+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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.055584s] ... 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-3b7c9d19-850e-4989-82c6-928766606ea3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.v1.test_conductor.TestListConductors.test_links [0.036151s] ... 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-e1766d97-d91c-4c9e-a3fc-0329d674fe11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.654463+00:00", "updated_at": "2024-03-18T18:15:40.654251+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-c80484be-a6ba-4db5-9eea-32a5133213b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.654463+00:00", "updated_at": "2024-03-18T18:15:40.654251+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-a7d34b6e-1f65-4070-a905-43c1ae102123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.654463+00:00", "updated_at": "2024-03-18T18:15:40.654251+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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.030986s] ... 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-e9f7ce4e-9171-42b5-ba81-b0d7564cbdf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.031857s] ... 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-71c87e3f-2654-4310-ab87-bd40a25ac20f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.v1.test_conductor.TestListConductors.test_links_public_url [0.081913s] ... 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-ae6820b8-3108-4f76-bcf1-aadc2cbd8f62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.724195+00:00", "updated_at": "2024-03-18T18:15:40.723975+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-d6708ac6-1553-490a-9ab9-684abc97e0f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.724195+00:00", "updated_at": "2024-03-18T18:15:40.723975+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-e3b3934a-044f-415a-a177-1622b7a86c5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.724195+00:00", "updated_at": "2024-03-18T18:15:40.723975+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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.029519s] ... 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.v1.test_conductor.TestListConductors.test_list [0.064156s] ... 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-69846f86-462f-467c-b1ec-7ab82d538acc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_conductor.TestListConductors.test_list_with_detail [0.044581s] ... 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-abf62e52-17c7-4f6b-9780-8e0c0c8e87d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:40.848292+00:00", "updated_at": "2024-03-18T18:15:40.848076+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-18T18:15:40.849642+00:00", "updated_at": "2024-03-18T18:15:40.849470+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: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.035415s] ... 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-fbcf9756-47f2-4aff-9520-78d7799ca121 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_conductor.TestListConductors.test_sort_key [0.041677s] ... 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-83c128a6-c933-4cf5-843f-1c7a7b6a81ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "140ae766-4f75-4356-a712-8dfa6254d8a7", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/140ae766-4f75-4356-a712-8dfa6254d8a7", "rel": "self"}, {"href": "http://localhost/conductors/140ae766-4f75-4356-a712-8dfa6254d8a7", "rel": "bookmark"}], "alive": true}, {"hostname": "1423a6ac-a0fc-4eeb-a2c0-c951b38bf614", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/1423a6ac-a0fc-4eeb-a2c0-c951b38bf614", "rel": "self"}, {"href": "http://localhost/conductors/1423a6ac-a0fc-4eeb-a2c0-c951b38bf614", "rel": "bookmark"}], "alive": true}, {"hostname": "dae8a130-dc22-41d8-848b-eee7fdb08a50", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/dae8a130-dc22-41d8-848b-eee7fdb08a50", "rel": "self"}, {"href": "http://localhost/conductors/dae8a130-dc22-41d8-848b-eee7fdb08a50", "rel": "bookmark"}], "alive": true}, {"hostname": "e7227183-62f0-43ec-8ce3-3ddc6131a091", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/e7227183-62f0-43ec-8ce3-3ddc6131a091", "rel": "self"}, {"href": "http://localhost/conductors/e7227183-62f0-43ec-8ce3-3ddc6131a091", "rel": "bookmark"}], "alive": true}, {"hostname": "ffcdf899-6a6a-4f21-819a-f57e1514e092", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/ffcdf899-6a6a-4f21-819a-f57e1514e092", "rel": "self"}, {"href": "http://localhost/conductors/ffcdf899-6a6a-4f21-819a-f57e1514e092", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.239645s] ... 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-52d9d69f-9713-4da1-beb1-15a84e33721c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "180f46d0-0d58-4c3e-aa0f-0177736087da", "created_at": "2024-03-18T18:15:40.977937+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/180f46d0-0d58-4c3e-aa0f-0177736087da", "rel": "self"}, {"href": "http://localhost/allocations/180f46d0-0d58-4c3e-aa0f-0177736087da", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "7f2b2e01-ee71-4e17-b2d8-44ef71069990", "created_at": "2024-03-18T18:15:40.979091+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/7f2b2e01-ee71-4e17-b2d8-44ef71069990", "rel": "self"}, {"href": "http://localhost/allocations/7f2b2e01-ee71-4e17-b2d8-44ef71069990", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "55189ed0-3c44-4241-9168-c7344ad2bc62", "created_at": "2024-03-18T18:15:40.988747+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/55189ed0-3c44-4241-9168-c7344ad2bc62", "rel": "self"}, {"href": "http://localhost/allocations/55189ed0-3c44-4241-9168-c7344ad2bc62", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "51fd3ba4-fe29-47c3-ac27-213d569b8545", "created_at": "2024-03-18T18:15:40.989910+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/51fd3ba4-fe29-47c3-ac27-213d569b8545", "rel": "self"}, {"href": "http://localhost/allocations/51fd3ba4-fe29-47c3-ac27-213d569b8545", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "a859a5dd-bbbc-4df1-bf69-2eb9bee81c14", "created_at": "2024-03-18T18:15:40.990876+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/a859a5dd-bbbc-4df1-bf69-2eb9bee81c14", "rel": "self"}, {"href": "http://localhost/allocations/a859a5dd-bbbc-4df1-bf69-2eb9bee81c14", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.082129s] ... 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-aa8a2f18-02a5-4062-88a7-2084ce7cb755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-82747352-d9f1-458a-ae8a-9b765704f7eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.123620s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/a719c091-42a7-45fb-a11f-491a70371047 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae6519e3-e1bf-450f-ae98-d0e055f4aac1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "a719c091-42a7-45fb-a11f-491a70371047", "created_at": "2024-03-18T18:15:41.055278+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/a719c091-42a7-45fb-a11f-491a70371047", "rel": "self"}, {"href": "http://localhost/allocations/a719c091-42a7-45fb-a11f-491a70371047", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/a719c091-42a7-45fb-a11f-491a70371047 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0768550b-dbef-4e66-956f-a531881cac22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a719c091-42a7-45fb-a11f-491a70371047", "created_at": "2024-03-18T18:15:41.055278+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/a719c091-42a7-45fb-a11f-491a70371047", "rel": "self"}, {"href": "http://localhost/allocations/a719c091-42a7-45fb-a11f-491a70371047", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.111695s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/89d47c00-94f8-4d8d-9b66-1407cb4e5eb6 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-b1a60b66-4b5a-4957-8127-cd75e5884649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "89d47c00-94f8-4d8d-9b66-1407cb4e5eb6", "created_at": "2024-03-18T18:15:41.083370+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/89d47c00-94f8-4d8d-9b66-1407cb4e5eb6", "rel": "self"}, {"href": "http://localhost/deploy_templates/89d47c00-94f8-4d8d-9b66-1407cb4e5eb6", "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: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.043825s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/2fafe144-446f-4afa-a134-f1cc1e54e6dc 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-a5aac65b-45dc-424c-83c3-6591e029d6bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.088084s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/8d35716f-1722-464e-b297-af212032ff89 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b58d6ad-8e07-4bf4-a208-5c2a71064527 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "8d35716f-1722-464e-b297-af212032ff89", "created_at": "2024-03-18T18:15:41.194336+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/8d35716f-1722-464e-b297-af212032ff89", "rel": "self"}, {"href": "http://localhost/allocations/8d35716f-1722-464e-b297-af212032ff89", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.076161s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/c3cab232-739b-4109-aadf-49aeff17b877 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-741a3b01-2e5c-4a8d-bcee-192f6daf3cbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.054525s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/98c58560-0f66-4308-9e5b-04e3e50394ac WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a3f2efd-167c-4134-ae92-17b566fcb575 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "98c58560-0f66-4308-9e5b-04e3e50394ac", "created_at": "2024-03-18T18:15:41.258902+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/98c58560-0f66-4308-9e5b-04e3e50394ac", "rel": "self"}, {"href": "http://localhost/allocations/98c58560-0f66-4308-9e5b-04e3e50394ac", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.032397s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/node/1901c072-623d-4f22-a1d7-3352e234f75f/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: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.085303s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/dc67283a-7635-4874-8be0-e7274e9df944 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-92049cb9-cee0-44d4-b880-b13f8800c5ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.034207s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/node/d9f259ab-e1ae-44a5-a754-607b73663e8c/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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.064863s] ... 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-33fd2bed-6d21-40f6-bdf4-8b332fecb5af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "60690e29-3815-4d5a-8dc8-01df479c8b18", "created_at": "2024-03-18T18:15:41.387183+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/60690e29-3815-4d5a-8dc8-01df479c8b18", "rel": "self"}, {"href": "http://localhost/allocations/60690e29-3815-4d5a-8dc8-01df479c8b18", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "20db6ee3-8387-4df3-98de-169e2bd1ae0c", "created_at": "2024-03-18T18:15:41.388254+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/20db6ee3-8387-4df3-98de-169e2bd1ae0c", "rel": "self"}, {"href": "http://localhost/allocations/20db6ee3-8387-4df3-98de-169e2bd1ae0c", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "140cbab3-50b6-4f78-a16e-d0281b7934c0", "created_at": "2024-03-18T18:15:41.389237+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/140cbab3-50b6-4f78-a16e-d0281b7934c0", "rel": "self"}, {"href": "http://localhost/allocations/140cbab3-50b6-4f78-a16e-d0281b7934c0", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=140cbab3-50b6-4f78-a16e-d0281b7934c0"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.048809s] ... 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-ef92ec5c-3073-443a-9990-dab11025a0c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "bc74ea3a-a210-4886-b63b-6b450386fabb", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/bc74ea3a-a210-4886-b63b-6b450386fabb", "rel": "self"}, {"href": "http://localhost/allocations/bc74ea3a-a210-4886-b63b-6b450386fabb", "rel": "bookmark"}]}, {"uuid": "1f94f8d1-df66-4338-9f85-d6b54f36dbe6", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/1f94f8d1-df66-4338-9f85-d6b54f36dbe6", "rel": "self"}, {"href": "http://localhost/allocations/1f94f8d1-df66-4338-9f85-d6b54f36dbe6", "rel": "bookmark"}]}, {"uuid": "c856f10a-1809-480a-be66-a818c5d9416a", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/c856f10a-1809-480a-be66-a818c5d9416a", "rel": "self"}, {"href": "http://localhost/allocations/c856f10a-1809-480a-be66-a818c5d9416a", "rel": "bookmark"}]}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=c856f10a-1809-480a-be66-a818c5d9416a"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.156797s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/fa273b27-3950-4a3e-94e8-e48c9e2daa1b 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-7aadd136-bbcb-4591-a8c8-016ad8ffc814 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fa273b27-3950-4a3e-94e8-e48c9e2daa1b", "created_at": "2024-03-18T18:15:41.415019+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fa273b27-3950-4a3e-94e8-e48c9e2daa1b", "rel": "self"}, {"href": "http://localhost/deploy_templates/fa273b27-3950-4a3e-94e8-e48c9e2daa1b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.040094s] ... 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-ba6718aa-6ddb-4757-9480-43acc54f5520 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "a535f495-88f1-492c-9b6c-44003e844712", "created_at": "2024-03-18T18:15:41.482304+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/a535f495-88f1-492c-9b6c-44003e844712", "rel": "self"}, {"href": "http://localhost/allocations/a535f495-88f1-492c-9b6c-44003e844712", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "8159a4e5-15d0-4c79-9b39-c839f91409ff", "created_at": "2024-03-18T18:15:41.484204+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/8159a4e5-15d0-4c79-9b39-c839f91409ff", "rel": "self"}, {"href": "http://localhost/allocations/8159a4e5-15d0-4c79-9b39-c839f91409ff", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "31bebb78-e994-4fca-8036-727c7eeed17b", "created_at": "2024-03-18T18:15:41.485147+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/31bebb78-e994-4fca-8036-727c7eeed17b", "rel": "self"}, {"href": "http://localhost/allocations/31bebb78-e994-4fca-8036-727c7eeed17b", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=31bebb78-e994-4fca-8036-727c7eeed17b"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.032448s] ... 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-d57a31b4-c54a-4578-8367-579a8fedbc32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.075682s] ... 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-f68e6fc3-620e-4bb5-8eb2-82f89d6e5f37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "62d22914-a3de-40db-a983-2e51fdfacce4", "created_at": "2024-03-18T18:15:41.555358+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/62d22914-a3de-40db-a983-2e51fdfacce4", "rel": "self"}, {"href": "http://localhost/allocations/62d22914-a3de-40db-a983-2e51fdfacce4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "e71e0611-2ff6-42ff-935f-da689b34fb42", "created_at": "2024-03-18T18:15:41.556356+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/e71e0611-2ff6-42ff-935f-da689b34fb42", "rel": "self"}, {"href": "http://localhost/allocations/e71e0611-2ff6-42ff-935f-da689b34fb42", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "066805b1-1fcf-4eb3-b935-552e483cbb26", "created_at": "2024-03-18T18:15:41.557302+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/066805b1-1fcf-4eb3-b935-552e483cbb26", "rel": "self"}, {"href": "http://localhost/allocations/066805b1-1fcf-4eb3-b935-552e483cbb26", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.174547s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/9587f8e4-00f5-4887-9400-a50b187288d8 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-1532cbc0-dd7e-4c2e-8070-c41859b77b91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.067185s] ... 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-8393cc35-2e01-45a9-9186-b6b291645590 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0ac0ed01-dcdf-4a8e-8596-73fddd2ec982", "created_at": "2024-03-18T18:15:41.633903+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/0ac0ed01-dcdf-4a8e-8596-73fddd2ec982", "rel": "self"}, {"href": "http://localhost/allocations/0ac0ed01-dcdf-4a8e-8596-73fddd2ec982", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.088907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/1342b5ad-e199-49f3-a1f2-18c0ae364b97 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-2d7e06f2-8c43-4414-a0c2-f63c981533ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.102143s] ... 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-d101e418-9093-4283-9dcd-8887fdc2b872 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.056494s] ... 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-20c24140-e606-458e-bf05-9533b9aade30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "6742cb12-9020-42cf-9e91-4e201e2b2ad2", "created_at": "2024-03-18T18:15:41.817944+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/6742cb12-9020-42cf-9e91-4e201e2b2ad2", "rel": "self"}, {"href": "http://localhost/allocations/6742cb12-9020-42cf-9e91-4e201e2b2ad2", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "84f2b2d7-2c88-49a5-becc-d7eb97f3f4cb", "created_at": "2024-03-18T18:15:41.819108+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/84f2b2d7-2c88-49a5-becc-d7eb97f3f4cb", "rel": "self"}, {"href": "http://localhost/allocations/84f2b2d7-2c88-49a5-becc-d7eb97f3f4cb", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "3ab46109-0ed0-41bd-8905-24ef1eb08e1f", "created_at": "2024-03-18T18:15:41.820305+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/3ab46109-0ed0-41bd-8905-24ef1eb08e1f", "rel": "self"}, {"href": "http://localhost/allocations/3ab46109-0ed0-41bd-8905-24ef1eb08e1f", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.076487s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/7a1f5adf-56ec-4042-ae7d-477b3d5daa0a 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-1084b32d-78e1-4590-b4f7-b96d3aac3a35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.092386s] ... 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-eed6a72f-f46b-4bfa-b78b-327ee63c3b96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.435465s] ... 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-5b42e363-4d69-4325-a91d-a41c72306610 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:41.904322+00:00", "updated_at": "2024-03-18T18:15:41.917891+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-e0e1d45b-e23a-47c5-911c-883f30391aaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:41.904322+00:00", "updated_at": "2024-03-18T18:15:41.917891+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: 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_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.129871s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/d3202e69-ee8d-4de4-92e0-4b2fe74f0b36 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-edcf8edf-b2c3-4df5-bc3d-acd21098ae4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed_mismatch [0.055461s] ... 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-1dc97b80-ba17-48b2-95cb-245330609e96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.046963s] ... 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-b90474d2-8b38-49ab-9b8d-cde665ce8b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:41.961681+00:00", "updated_at": "2024-03-18T18:15:41.974163+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: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.050585s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/943c9da1-9c79-4184-926a-4ccef21a620e 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-2761057c-10df-4bf3-a06b-58484db67620 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.045192s] ... 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-4fbc9552-69eb-4009-a460-c843f2b8aef3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.043109s] ... 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-962abcf6-8581-40a8-80b0-e1999a1527ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_deploy_template.TestPatch.test_remove_steps [0.044786s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/34accc48-fa67-414e-9d8c-c4bfb87bdad7 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-3f654ebd-5395-430c-96b4-c885e0403d1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.103330s] ... 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-6071bc66-3554-46db-acbe-47f1d960b1e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3c13a950-7b3d-42b7-8e0a-0e635cb0a477", "created_at": "2024-03-18T18:15:42.071203+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/3c13a950-7b3d-42b7-8e0a-0e635cb0a477", "rel": "self"}, {"href": "http://localhost/allocations/3c13a950-7b3d-42b7-8e0a-0e635cb0a477", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "fd176f62-4690-4027-89f5-80437369358c", "created_at": "2024-03-18T18:15:42.072264+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/fd176f62-4690-4027-89f5-80437369358c", "rel": "self"}, {"href": "http://localhost/allocations/fd176f62-4690-4027-89f5-80437369358c", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "e8c3b020-3b28-48db-990b-bffa1169688a", "created_at": "2024-03-18T18:15:42.073230+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/e8c3b020-3b28-48db-990b-bffa1169688a", "rel": "self"}, {"href": "http://localhost/allocations/e8c3b020-3b28-48db-990b-bffa1169688a", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.047697s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/fa1ac4f6-7663-4f3c-994f-df4cc636244b 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-b943021d-4867-4895-a445-58e92de7ffde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.071921s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab 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-f1a15929-37f9-4280-a37b-624c0c8e2e25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "created_at": "2024-03-18T18:15:42.106466+00:00", "updated_at": "2024-03-18T18:15:42.118732+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-759094b5-8739-493a-914a-dcc6e11582d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "created_at": "2024-03-18T18:15:42.106466+00:00", "updated_at": "2024-03-18T18:15:42.118732+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: PATCH /v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab 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-18d74e01-e0c0-4e47-b7a1-e660d6e77891 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "created_at": "2024-03-18T18:15:42.106466+00:00", "updated_at": "2024-03-18T18:15:42.134738+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddb6eaca-7f7b-4700-a7f1-43bee5cdcc82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "created_at": "2024-03-18T18:15:42.106466+00:00", "updated_at": "2024-03-18T18:15:42.134738+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "self"}, {"href": "http://localhost/chassis/ccf0d920-d52e-4a1d-bae0-f9f97cac9dab/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.057101s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/58867fe1-025b-4d23-af7f-2a253e73ea57 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-04259918-543f-44dd-831a-6ed52ead43ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocation.TestListAllocations.test_get_by_node_resource [0.091765s] ... 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-ada58cc8-5807-40a4-8d94-1cd40c76d937 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6d691822-f9c7-412e-a610-59c2cdfb5260", "created_at": "2024-03-18T18:15:42.155919+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/6d691822-f9c7-412e-a610-59c2cdfb5260", "rel": "self"}, {"href": "http://localhost/allocations/6d691822-f9c7-412e-a610-59c2cdfb5260", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.337046s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.039897s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/b09dd9b0-a381-41ed-94a8-f0ae93f434d9 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: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.058291s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/3cabc1be-a3e5-4365-8c8a-22922cc8270c 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-0ce54c34-48bd-427b-a2e7-9b2763ac282f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.042759s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.062193s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/6a9a19c1-777d-4023-ae0c-b387c2710445 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-65e85175-b49c-46ae-ba93-7730c37354ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.052309s] ... 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-da647483-2cec-476f-887d-b1e76e51d7cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/fd4e2df4-1fb1-42bf-9187-5ba44e419437", "rel": "self"}, {"href": "http://localhost/allocations/fd4e2df4-1fb1-42bf-9187-5ba44e419437", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.198756s] ... 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-4b1e13b6-f8b9-40e6-9549-b351940e755e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.058700s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/d5b490c8-4951-47cb-b879-c84fbca29135 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-ceb43bfd-bbb8-4966-9c52-0009e953ef4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.065050s] ... 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-4d01e73b-5d30-457f-ace3-3cb3af5c9f28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "afaab7c9-b348-424e-964b-0f17f129ae20", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/afaab7c9-b348-424e-964b-0f17f129ae20", "rel": "self"}, {"href": "http://localhost/allocations/afaab7c9-b348-424e-964b-0f17f129ae20", "rel": "bookmark"}]}, {"uuid": "473b74ba-37f8-4c08-b139-95809a874d49", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/473b74ba-37f8-4c08-b139-95809a874d49", "rel": "self"}, {"href": "http://localhost/allocations/473b74ba-37f8-4c08-b139-95809a874d49", "rel": "bookmark"}]}, {"uuid": "e4fedab5-47b3-45dc-98a3-41e6f8905bf1", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/e4fedab5-47b3-45dc-98a3-41e6f8905bf1", "rel": "self"}, {"href": "http://localhost/allocations/e4fedab5-47b3-45dc-98a3-41e6f8905bf1", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.057415s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665 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-e21c3487-bf3c-40c0-96f6-57b01fe6ee7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "216c207b-1c3c-41e1-b4f6-1f75c6316665", "created_at": "2024-03-18T18:15:42.375333+00:00", "updated_at": "2024-03-18T18:15:42.388247+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665", "rel": "self"}, {"href": "http://localhost/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665/nodes", "rel": "self"}, {"href": "http://localhost/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e81a5eb5-1f33-49a8-9f41-4af0dead208a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "216c207b-1c3c-41e1-b4f6-1f75c6316665", "created_at": "2024-03-18T18:15:42.375333+00:00", "updated_at": "2024-03-18T18:15:42.388247+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665", "rel": "self"}, {"href": "http://localhost/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665/nodes", "rel": "self"}, {"href": "http://localhost/chassis/216c207b-1c3c-41e1-b4f6-1f75c6316665/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.054294s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/03b4b17e-8439-473b-b099-35de3e64eaa0 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-024f91f9-3d88-490c-a88b-07e627913864 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.052757s] ... 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-ac362e02-4550-4e74-927b-17eafd0ff4ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/2657274d-de9d-46bb-b8b9-973ef5de34b1", "rel": "self"}, {"href": "http://localhost/allocations/2657274d-de9d-46bb-b8b9-973ef5de34b1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"links": [{"href": "http://localhost/v1/allocations/02413e5c-f177-4929-8d20-1ea1431a617d", "rel": "self"}, {"href": "http://localhost/allocations/02413e5c-f177-4929-8d20-1ea1431a617d", "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=02413e5c-f177-4929-8d20-1ea1431a617d"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.040685s] ... 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-4e6a937d-cbc5-4e18-8123-7d04809c1f50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.275661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.073823s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/c02c3106-54ca-450d-be0c-aafd5b0eac75 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-8e60d6f4-90b9-4660-8396-7ff1c3cb9ce9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.048908s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/3b8350b0-b320-42aa-b040-4629a330a31a 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-38863575-14bc-461d-9a3c-166fa6eeeb7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3b8350b0-b320-42aa-b040-4629a330a31a", "created_at": "2024-03-18T18:15:42.464863+00:00", "updated_at": "2024-03-18T18:15:42.476234+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/3b8350b0-b320-42aa-b040-4629a330a31a", "rel": "self"}, {"href": "http://localhost/chassis/3b8350b0-b320-42aa-b040-4629a330a31a", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3b8350b0-b320-42aa-b040-4629a330a31a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3b8350b0-b320-42aa-b040-4629a330a31a/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/3b8350b0-b320-42aa-b040-4629a330a31a WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64440cb5-7c72-4128-8656-da38fccd2f14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3b8350b0-b320-42aa-b040-4629a330a31a", "created_at": "2024-03-18T18:15:42.464863+00:00", "updated_at": "2024-03-18T18:15:42.476234+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/3b8350b0-b320-42aa-b040-4629a330a31a", "rel": "self"}, {"href": "http://localhost/chassis/3b8350b0-b320-42aa-b040-4629a330a31a", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/3b8350b0-b320-42aa-b040-4629a330a31a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3b8350b0-b320-42aa-b040-4629a330a31a/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.033921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.041235s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/d0ef9959-6b4c-412c-b19e-05e2f27c4dba?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-167da4cf-5234-453d-ac42-c710a37262f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocation.TestListAllocations.test_get_one [0.037581s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/2dfde13e-1657-4c0b-94e0-e47dec3dff15 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4378db12-5276-4e23-a3c0-2bfa9ea6b115 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2dfde13e-1657-4c0b-94e0-e47dec3dff15", "created_at": "2024-03-18T18:15:42.500832+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/2dfde13e-1657-4c0b-94e0-e47dec3dff15", "rel": "self"}, {"href": "http://localhost/allocations/2dfde13e-1657-4c0b-94e0-e47dec3dff15", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.037841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.051746s] ... 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-42c3e4e9-4a42-4360-9470-be6b5b160106 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:42.517794+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-0d739fa7-f808-4108-8613-44d4b52cb94c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:42.517794+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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.039801s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/391d2bc8-0ef9-44ba-8c4a-aeffd031f599?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-fec73ccb-c6b1-479d-b703-042ba9c745ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/391d2bc8-0ef9-44ba-8c4a-aeffd031f599", "rel": "self"}, {"href": "http://localhost/allocations/391d2bc8-0ef9-44ba-8c4a-aeffd031f599", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.041286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.042993s] ... 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-1253ea08-7115-4ebe-ae71-c9924ba0c981 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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_deploy_template.TestPatch.test_replace_multi [0.088472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/7bc5f573-5b0f-4790-ba6c-659fd9b0eca8 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-2aeaf7ee-3e52-4d17-8f5e-d8dcc1a7b62e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7bc5f573-5b0f-4790-ba6c-659fd9b0eca8", "created_at": "2024-03-18T18:15:42.521888+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7bc5f573-5b0f-4790-ba6c-659fd9b0eca8", "rel": "self"}, {"href": "http://localhost/deploy_templates/7bc5f573-5b0f-4790-ba6c-659fd9b0eca8", "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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.033234s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/8f4bff2b-053a-4805-af04-0682fd8bf4eb 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: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.037373s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/chassis/0e06ba0a-123f-45da-8274-5b15f35d0012 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-f3508bf8-11cc-4f57-9d9d-b1b409b16fd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 0e06ba0a-123f-45da-8274-5b15f35d0012 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.032949s] ... 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: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.076097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.040583s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/b707ea2e-66d6-40b2-9d60-5c8814d2fab0.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d692955-8beb-4f61-bedd-26e4952fdaa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b707ea2e-66d6-40b2-9d60-5c8814d2fab0", "created_at": "2024-03-18T18:15:42.649632+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/b707ea2e-66d6-40b2-9d60-5c8814d2fab0", "rel": "self"}, {"href": "http://localhost/allocations/b707ea2e-66d6-40b2-9d60-5c8814d2fab0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.087786s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/bc403f1a-2d89-473f-8f2d-85059f26c32b 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-147ed0f0-5d9e-40b1-afd6-07d7f7f02d7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 bc403f1a-2d89-473f-8f2d-85059f26c32b already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.047381s] ... 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-267d89f3-1906-4172-b328-e84476b0dba1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_base.TestVersion.test_parse_headers_latest [0.054625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.048562s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/d70f4be6-9184-4754-9222-671340440eaf WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8255f113-c0d9-4f2f-ac3b-ea458bf1e62f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d70f4be6-9184-4754-9222-671340440eaf", "created_at": "2024-03-18T18:15:42.694101+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/d70f4be6-9184-4754-9222-671340440eaf", "rel": "self"}, {"href": "http://localhost/allocations/d70f4be6-9184-4754-9222-671340440eaf", "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.049595s] ... 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-4b1a719a-ddb8-4002-aeaf-ab97f486ef84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.078502s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/f4b7b2eb-a919-4052-8f02-757263d3ca15 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-e3996635-eda0-450c-aaeb-8b743c7b84b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_base.TestVersion.test_parse_headers_ok [0.041440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.034501s] ... 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-3426df14-25f1-4ce3-8547-37dfc93677e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_allocation.TestListAllocations.test_get_one_with_suffix [0.049356s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/2d58c7cf-890a-4138-9e99-4a2b7501b8f0 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ccabf62e-7f3d-4359-ae4c-92ae02b78104 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2d58c7cf-890a-4138-9e99-4a2b7501b8f0", "created_at": "2024-03-18T18:15:42.748711+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/2d58c7cf-890a-4138-9e99-4a2b7501b8f0", "rel": "self"}, {"href": "http://localhost/allocations/2d58c7cf-890a-4138-9e99-4a2b7501b8f0", "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_uuid [0.036335s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/72b82362-cd1d-4cce-82bc-9fbbbd40bdcd GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b8c8a742-266b-49eb-8d3b-00eee07699a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_allocation.TestListAllocations.test_get_owner_field [0.033622s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/36ae17de-02a1-4a3c-8bb0-68ce0c84d2a8?fields=owner WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a14a96bd-de80-4546-82ae-4cb024402c27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/36ae17de-02a1-4a3c-8bb0-68ce0c84d2a8", "rel": "self"}, {"href": "http://localhost/allocations/36ae17de-02a1-4a3c-8bb0-68ce0c84d2a8", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.058923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.064545s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/ce4ca237-beef-44de-9c4d-2938fa9fc28f 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-ccd86b17-21af-4e14-bf8c-a62c1b34bab8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.037547s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/fc66c81a-109e-44ff-9a98-aa645caa5993.json GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d03e98af-7075-4d88-a862-28c6c004d326 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_allocation.TestListAllocations.test_links [0.054099s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/d01189ef-0906-4a7e-af17-03b6c0bb2b1d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8444c169-9019-4cb4-bd7c-743f29357d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "created_at": "2024-03-18T18:15:42.824484+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/d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "rel": "self"}, {"href": "http://localhost/allocations/d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/d01189ef-0906-4a7e-af17-03b6c0bb2b1d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49a7e403-6844-444f-a1bb-97d7fe275773 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "created_at": "2024-03-18T18:15:42.824484+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/d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "rel": "self"}, {"href": "http://localhost/allocations/d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /allocations/d01189ef-0906-4a7e-af17-03b6c0bb2b1d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cdd6813-4a7e-49ea-a8c3-aed963dca8b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "created_at": "2024-03-18T18:15:42.824484+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/d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "rel": "self"}, {"href": "http://localhost/allocations/d01189ef-0906-4a7e-af17-03b6c0bb2b1d", "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.028878s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/11f8f06c-e2b0-43cf-a0c3-4d8a6ba9acc9 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.test_base.TestVersion.test_repr [0.059740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.079308s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/8a0e32a7-a65e-444a-8ebc-90b6793c5180 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-ad50a890-9275-455d-ace3-2efbf50c9604 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "8a0e32a7-a65e-444a-8ebc-90b6793c5180", "created_at": "2024-03-18T18:15:42.844759+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8a0e32a7-a65e-444a-8ebc-90b6793c5180", "rel": "self"}, {"href": "http://localhost/deploy_templates/8a0e32a7-a65e-444a-8ebc-90b6793c5180", "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_allocation.TestListAllocations.test_many [0.052606s] ... 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-e679da7e-7431-452e-8143-f36c14e4a2e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "23f05f41-cd7e-4064-a4ff-7b5bafc7864c", "created_at": "2024-03-18T18:15:42.877168+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/23f05f41-cd7e-4064-a4ff-7b5bafc7864c", "rel": "self"}, {"href": "http://localhost/allocations/23f05f41-cd7e-4064-a4ff-7b5bafc7864c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "1f35a72c-f564-4f68-b205-55a48f3a89a7", "created_at": "2024-03-18T18:15:42.878134+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/1f35a72c-f564-4f68-b205-55a48f3a89a7", "rel": "self"}, {"href": "http://localhost/allocations/1f35a72c-f564-4f68-b205-55a48f3a89a7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "6289a89e-5e9c-49cc-a9b2-d4f387f73abe", "created_at": "2024-03-18T18:15:42.879087+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/6289a89e-5e9c-49cc-a9b2-d4f387f73abe", "rel": "self"}, {"href": "http://localhost/allocations/6289a89e-5e9c-49cc-a9b2-d4f387f73abe", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d8ffc78b-5a4f-460f-b967-a744911f8217", "created_at": "2024-03-18T18:15:42.880005+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/d8ffc78b-5a4f-460f-b967-a744911f8217", "rel": "self"}, {"href": "http://localhost/allocations/d8ffc78b-5a4f-460f-b967-a744911f8217", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "e19848b4-7dc1-4b25-9dad-117ad3d50596", "created_at": "2024-03-18T18:15:42.880912+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/e19848b4-7dc1-4b25-9dad-117ad3d50596", "rel": "self"}, {"href": "http://localhost/allocations/e19848b4-7dc1-4b25-9dad-117ad3d50596", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.034166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.053010s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.050376s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/c666025e-c4f3-48d0-8134-5dfd94b0f50f 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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.042598s] ... 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-9aea1cb7-adc8-492e-bc2d-a797805970dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "6d692280-7c96-4f05-9cc3-074e9348736b", "created_at": "2024-03-18T18:15:42.932931+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/6d692280-7c96-4f05-9cc3-074e9348736b", "rel": "self"}, {"href": "http://localhost/allocations/6d692280-7c96-4f05-9cc3-074e9348736b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.057404s] ... 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-c80da6a1-6326-417e-9654-d5c9d20f619b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "2592947f-34f3-4457-8953-eb3f822d3116", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/2592947f-34f3-4457-8953-eb3f822d3116", "rel": "self"}, {"href": "http://localhost/deploy_templates/2592947f-34f3-4457-8953-eb3f822d3116", "rel": "bookmark"}]}, {"uuid": "d4bb86ae-fde5-42f3-a3c5-932d707e8d2e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/d4bb86ae-fde5-42f3-a3c5-932d707e8d2e", "rel": "self"}, {"href": "http://localhost/deploy_templates/d4bb86ae-fde5-42f3-a3c5-932d707e8d2e", "rel": "bookmark"}]}, {"uuid": "056062e6-4478-4b33-b15b-58507125e7a8", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/056062e6-4478-4b33-b15b-58507125e7a8", "rel": "self"}, {"href": "http://localhost/deploy_templates/056062e6-4478-4b33-b15b-58507125e7a8", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=056062e6-4478-4b33-b15b-58507125e7a8"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.048558s] ... 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-74df2122-5ed4-44c3-9f01-cffeadaf9f54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "8c9d38ab-2f0b-42b7-a7b2-98be747b4372", "created_at": "2024-03-18T18:15:42.971469+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/8c9d38ab-2f0b-42b7-a7b2-98be747b4372", "rel": "self"}, {"href": "http://localhost/allocations/8c9d38ab-2f0b-42b7-a7b2-98be747b4372", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b1f6a27b-100d-45d7-b57b-5c04677e8791", "created_at": "2024-03-18T18:15:42.972449+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/b1f6a27b-100d-45d7-b57b-5c04677e8791", "rel": "self"}, {"href": "http://localhost/allocations/b1f6a27b-100d-45d7-b57b-5c04677e8791", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c4f3e8c0-4cd4-4306-b532-822c8b14021e", "created_at": "2024-03-18T18:15:42.973481+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/c4f3e8c0-4cd4-4306-b532-822c8b14021e", "rel": "self"}, {"href": "http://localhost/allocations/c4f3e8c0-4cd4-4306-b532-822c8b14021e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.066674s] ... 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-ad754d0d-c38e-41a2-97ef-be48f9919a80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f18a2f88-3f1a-4b6c-9417-856ae7a1228b", "created_at": "2024-03-18T18:15:42.971133+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f18a2f88-3f1a-4b6c-9417-856ae7a1228b", "rel": "self"}, {"href": "http://localhost/deploy_templates/f18a2f88-3f1a-4b6c-9417-856ae7a1228b", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.042011s] ... 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-bf1a8ebf-032b-4b6a-8f60-196e8139e672 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9f637681-5a46-4f51-ae9d-15c19165f48f", "links": [{"href": "http://localhost/v1/deploy_templates/9f637681-5a46-4f51-ae9d-15c19165f48f", "rel": "self"}, {"href": "http://localhost/deploy_templates/9f637681-5a46-4f51-ae9d-15c19165f48f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "69bac1d0-472e-4b04-9baa-a32710fb96c0", "links": [{"href": "http://localhost/v1/deploy_templates/69bac1d0-472e-4b04-9baa-a32710fb96c0", "rel": "self"}, {"href": "http://localhost/deploy_templates/69bac1d0-472e-4b04-9baa-a32710fb96c0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "53898c6b-0a33-4931-91dd-f4e74112a4a3", "links": [{"href": "http://localhost/v1/deploy_templates/53898c6b-0a33-4931-91dd-f4e74112a4a3", "rel": "self"}, {"href": "http://localhost/deploy_templates/53898c6b-0a33-4931-91dd-f4e74112a4a3", "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=53898c6b-0a33-4931-91dd-f4e74112a4a3"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.034106s] ... 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-bd5d000e-ee12-471b-9790-1f487a7ef98b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f41132d6-6cc4-49ac-b5c6-e16616aae24f", "created_at": "2024-03-18T18:15:43.021116+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/f41132d6-6cc4-49ac-b5c6-e16616aae24f", "rel": "self"}, {"href": "http://localhost/allocations/f41132d6-6cc4-49ac-b5c6-e16616aae24f", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "4bcd3762-b730-4d2a-b72b-49245294f200", "created_at": "2024-03-18T18:15:43.020218+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/4bcd3762-b730-4d2a-b72b-49245294f200", "rel": "self"}, {"href": "http://localhost/allocations/4bcd3762-b730-4d2a-b72b-49245294f200", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "f0f70684-d524-428f-8795-3cb15049c422", "created_at": "2024-03-18T18:15:43.019280+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/f0f70684-d524-428f-8795-3cb15049c422", "rel": "self"}, {"href": "http://localhost/allocations/f0f70684-d524-428f-8795-3cb15049c422", "rel": "bookmark"}], "node_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.038691s] ... 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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.037260s] ... 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-09c673b2-1a8b-40b3-be38-f8b78799bde3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "5d6be4c9-9d2d-437e-8a21-1ef3b43f7bc0", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/5d6be4c9-9d2d-437e-8a21-1ef3b43f7bc0", "rel": "self"}, {"href": "http://localhost/deploy_templates/5d6be4c9-9d2d-437e-8a21-1ef3b43f7bc0", "rel": "bookmark"}]}, {"uuid": "e0e7036f-49c2-4c1c-b646-06d33c1cc293", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e0e7036f-49c2-4c1c-b646-06d33c1cc293", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0e7036f-49c2-4c1c-b646-06d33c1cc293", "rel": "bookmark"}]}, {"uuid": "5c6357c6-bec2-4a1a-90cc-159aabed146b", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/5c6357c6-bec2-4a1a-90cc-159aabed146b", "rel": "self"}, {"href": "http://localhost/deploy_templates/5c6357c6-bec2-4a1a-90cc-159aabed146b", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=5c6357c6-bec2-4a1a-90cc-159aabed146b"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.041086s] ... 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-2fec1571-5fe0-4502-99c7-9d20cd8d23ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-d6f0cea6-bbdb-4402-b660-9b0c30070159 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-db347782-a776-4dd5-9bb3-8f537dc8f1ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-79506056-316e-4230-8945-d12aa8d6d88f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.034194s] ... 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-035ad2d2-6afa-48d9-b12e-48a88679d786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "04487dc9-9b16-4ad9-8d4d-fee576eefa2e", "created_at": "2024-03-18T18:15:43.078877+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/04487dc9-9b16-4ad9-8d4d-fee576eefa2e", "rel": "self"}, {"href": "http://localhost/deploy_templates/04487dc9-9b16-4ad9-8d4d-fee576eefa2e", "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_allocation.TestPatch.test_add [0.046533s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/c0f8a6d0-4204-450e-a642-20db1fb01d77 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-477eb11c-693e-4725-838c-ae2da6d351f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c0f8a6d0-4204-450e-a642-20db1fb01d77", "created_at": "2024-03-18T18:15:43.094344+00:00", "updated_at": "2024-03-18T18:15:43.111346+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/c0f8a6d0-4204-450e-a642-20db1fb01d77", "rel": "self"}, {"href": "http://localhost/allocations/c0f8a6d0-4204-450e-a642-20db1fb01d77", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.060933s] ... 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-092cffa6-55af-40ab-9bed-c78d2e135ea0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5568fc81-2a80-48ee-800e-712a6522f7ee", "created_at": "2024-03-18T18:15:43.076172+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5568fc81-2a80-48ee-800e-712a6522f7ee", "rel": "self"}, {"href": "http://localhost/deploy_templates/5568fc81-2a80-48ee-800e-712a6522f7ee", "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_deploy_template.TestListDeployTemplates.test_detail_query_false [0.045432s] ... 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-e41618d1-86a1-4a6a-a0ad-a67756553553 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7c772f03-ec9d-4c53-b9f0-a8f5d0d8edf5", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/7c772f03-ec9d-4c53-b9f0-a8f5d0d8edf5", "rel": "self"}, {"href": "http://localhost/deploy_templates/7c772f03-ec9d-4c53-b9f0-a8f5d0d8edf5", "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-986f91bb-5f82-42cc-b8ba-e73f08799720 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7c772f03-ec9d-4c53-b9f0-a8f5d0d8edf5", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/7c772f03-ec9d-4c53-b9f0-a8f5d0d8edf5", "rel": "self"}, {"href": "http://localhost/deploy_templates/7c772f03-ec9d-4c53-b9f0-a8f5d0d8edf5", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.050592s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/094a1971-cd37-4f16-8360-829369358d84 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-34c09983-d6b7-4c55-a511-3981eb0616bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "094a1971-cd37-4f16-8360-829369358d84", "created_at": "2024-03-18T18:15:43.143787+00:00", "updated_at": "2024-03-18T18:15:43.159507+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/094a1971-cd37-4f16-8360-829369358d84", "rel": "self"}, {"href": "http://localhost/allocations/094a1971-cd37-4f16-8360-829369358d84", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/094a1971-cd37-4f16-8360-829369358d84 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a55fd8a-3280-461a-a1ae-2ab52e2faab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "094a1971-cd37-4f16-8360-829369358d84", "created_at": "2024-03-18T18:15:43.143787+00:00", "updated_at": "2024-03-18T18:15:43.159507+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/094a1971-cd37-4f16-8360-829369358d84", "rel": "self"}, {"href": "http://localhost/allocations/094a1971-cd37-4f16-8360-829369358d84", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.059725s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/0ff61ad5-bc3b-487a-b99c-629c58c783e1 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-49653772-63b5-4d55-aca4-17cbaf50ddfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.039616s] ... 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-5bafd49b-1039-4a11-bf92-f41d6e125ca0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "10f2e56e-c934-4117-a4c5-765f3b052c1d", "created_at": "2024-03-18T18:15:43.165470+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/10f2e56e-c934-4117-a4c5-765f3b052c1d", "rel": "self"}, {"href": "http://localhost/deploy_templates/10f2e56e-c934-4117-a4c5-765f3b052c1d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "61937cd5-7d7c-4061-a574-91a4ada7551f", "created_at": "2024-03-18T18:15:43.164055+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/61937cd5-7d7c-4061-a574-91a4ada7551f", "rel": "self"}, {"href": "http://localhost/deploy_templates/61937cd5-7d7c-4061-a574-91a4ada7551f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "47f48055-05f8-4326-9ffd-8cad11cc9609", "created_at": "2024-03-18T18:15:43.161484+00:00", "updated_at": null, "name": "CUSTOM_DT3", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/47f48055-05f8-4326-9ffd-8cad11cc9609", "rel": "self"}, {"href": "http://localhost/deploy_templates/47f48055-05f8-4326-9ffd-8cad11cc9609", "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_allocation.TestDelete.test_delete_allocation_by_id [0.272584s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/3635e36f-73a6-422b-8819-1f97c293a1e9 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-294a553f-12f2-4fcd-9f00-776fef35fa30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_allocation.TestPatch.test_add_non_existent [0.038589s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/5592a3bc-3f84-4a0c-8368-2ccf4078bce6 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-1cca692c-f78b-4b2d-9333-c20c57c79eef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.036361s] ... 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-b330d25d-f7e4-4538-9284-4a1d737e4a2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.046715s] ... 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-1b954f94-896f-4399-a14a-ed5ba318b3ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/63977852-e9bb-4276-9bbc-3af9b287535c", "rel": "self"}, {"href": "http://localhost/deploy_templates/63977852-e9bb-4276-9bbc-3af9b287535c", "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_allocation.TestPatch.test_remove_multi [0.077876s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10 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-b7caca96-f84d-4952-961e-3246bfbd5d17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6de40bac-2c55-49b9-8a13-5ebdc8371d10", "created_at": "2024-03-18T18:15:43.236340+00:00", "updated_at": "2024-03-18T18:15:43.253676+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/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "self"}, {"href": "http://localhost/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-845426a2-d171-4882-8c26-d4b41cb00227 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6de40bac-2c55-49b9-8a13-5ebdc8371d10", "created_at": "2024-03-18T18:15:43.236340+00:00", "updated_at": "2024-03-18T18:15:43.253676+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/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "self"}, {"href": "http://localhost/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: PATCH /v1/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10 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-6610af21-e6a6-4422-9188-8f60250da252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6de40bac-2c55-49b9-8a13-5ebdc8371d10", "created_at": "2024-03-18T18:15:43.236340+00:00", "updated_at": "2024-03-18T18:15:43.277271+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "self"}, {"href": "http://localhost/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-791eb96d-40cf-4b8d-b8a7-7a01fa9c066f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6de40bac-2c55-49b9-8a13-5ebdc8371d10", "created_at": "2024-03-18T18:15:43.236340+00:00", "updated_at": "2024-03-18T18:15:43.277271+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "self"}, {"href": "http://localhost/allocations/6de40bac-2c55-49b9-8a13-5ebdc8371d10", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.035266s] ... 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-b582ba7d-519b-41a1-a9e9-1074c78b1d5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.104775s] ... 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-3a8313b0-2430-40d6-a918-c1c267941a21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_allocation.TestPatch.test_remove_non_existent_property_fail [0.034873s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/42ef774f-467a-4714-b43f-2bcb1abf9fbe 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-9262c9aa-91aa-44ca-8e4b-eaf1bd510694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.046264s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.049509s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda 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-d1664620-208f-416d-b8e7-7a922de4834f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda", "created_at": "2024-03-18T18:15:43.349110+00:00", "updated_at": "2024-03-18T18:15:43.363537+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda", "rel": "self"}, {"href": "http://localhost/allocations/e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-770587b4-f829-44bf-b405-088f2b16aa2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda", "created_at": "2024-03-18T18:15:43.349110+00:00", "updated_at": "2024-03-18T18:15:43.363537+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda", "rel": "self"}, {"href": "http://localhost/allocations/e6ede03b-d69b-4c7b-96e1-b3a58bbf1dda", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.034438s] ... 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-641ba43d-aa2f-4eab-b9ee-7665fe22ac6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ab8fc2bb-60a2-45a2-930c-7152f3ee6282", "links": [{"href": "http://localhost/v1/deploy_templates/ab8fc2bb-60a2-45a2-930c-7152f3ee6282", "rel": "self"}, {"href": "http://localhost/deploy_templates/ab8fc2bb-60a2-45a2-930c-7152f3ee6282", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "2e6a201a-9952-4e0b-b7b1-551e63790e3d", "links": [{"href": "http://localhost/v1/deploy_templates/2e6a201a-9952-4e0b-b7b1-551e63790e3d", "rel": "self"}, {"href": "http://localhost/deploy_templates/2e6a201a-9952-4e0b-b7b1-551e63790e3d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "b84fb743-5967-4cce-aaa6-b35228d3a88d", "links": [{"href": "http://localhost/v1/deploy_templates/b84fb743-5967-4cce-aaa6-b35228d3a88d", "rel": "self"}, {"href": "http://localhost/deploy_templates/b84fb743-5967-4cce-aaa6-b35228d3a88d", "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_allocation.TestPatch.test_remove_uuid [0.031247s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/42996853-19b1-4da6-97c1-bf74242ef035 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-e705fb75-ac6b-4907-86bf-4658724a3a1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.035748s] ... 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-d331bcc0-a43a-44f1-8024-067d1c0a16bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/35e7271b-7938-4d58-9e30-eaa6bfb7d702", "rel": "self"}, {"href": "http://localhost/deploy_templates/35e7271b-7938-4d58-9e30-eaa6bfb7d702", "rel": "bookmark"}]}, {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/47b73c7b-db5c-4c86-ba77-7cd7ff8cbe2e", "rel": "self"}, {"href": "http://localhost/deploy_templates/47b73c7b-db5c-4c86-ba77-7cd7ff8cbe2e", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=47b73c7b-db5c-4c86-ba77-7cd7ff8cbe2e"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.111139s] ... 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-1af35e8d-a8de-4a81-8f72-c1116b3d6b02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.039359s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/fe298c4e-fc20-4a16-8099-88125f2a9573 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-3b243778-e2fd-49b3-9256-efb8dbd645eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.033441s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/4271264a-d0f7-417b-bad9-b61a5c53312e?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-3b233364-1e20-4620-afc8-a9cd22d2e0c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestListDeployTemplates.test_get_one [0.032632s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/0d100e8e-c7d9-467b-bbc7-d8b6a22cbb87 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb5e3386-ddd9-490c-af9b-5d2ad3e8c72b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0d100e8e-c7d9-467b-bbc7-d8b6a22cbb87", "created_at": "2024-03-18T18:15:43.472860+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/0d100e8e-c7d9-467b-bbc7-d8b6a22cbb87", "rel": "self"}, {"href": "http://localhost/deploy_templates/0d100e8e-c7d9-467b-bbc7-d8b6a22cbb87", "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_allocation.TestPatch.test_replace_multi [0.054292s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/ffcea441-db10-465c-ba19-08bba4441b92 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-dcd8b43c-c5ca-4a36-ae27-4829f4616135 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ffcea441-db10-465c-ba19-08bba4441b92", "created_at": "2024-03-18T18:15:43.468592+00:00", "updated_at": "2024-03-18T18:15:43.487594+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/ffcea441-db10-465c-ba19-08bba4441b92", "rel": "self"}, {"href": "http://localhost/allocations/ffcea441-db10-465c-ba19-08bba4441b92", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/ffcea441-db10-465c-ba19-08bba4441b92 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e144bf7-8694-410c-bbbc-aec5ebf1d0d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ffcea441-db10-465c-ba19-08bba4441b92", "created_at": "2024-03-18T18:15:43.468592+00:00", "updated_at": "2024-03-18T18:15:43.487594+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/ffcea441-db10-465c-ba19-08bba4441b92", "rel": "self"}, {"href": "http://localhost/allocations/ffcea441-db10-465c-ba19-08bba4441b92", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.033365s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/71f6ade5-f63c-48fa-97a0-8c0cb7d893d3?fields=name,steps WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7b9d9a2-85bc-4b09-b89a-1aabc9927f2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/71f6ade5-f63c-48fa-97a0-8c0cb7d893d3", "rel": "self"}, {"href": "http://localhost/deploy_templates/71f6ade5-f63c-48fa-97a0-8c0cb7d893d3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.026562s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/99751694-fca4-422f-ad04-46cbcbe30877 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_allocation.TestPatch.test_replace_name_with_none [0.057097s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/fa5469a5-1a4d-4cb0-b256-503c2158cd6b 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-4e8a0349-6113-4442-bb64-91ab5676c49d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fa5469a5-1a4d-4cb0-b256-503c2158cd6b", "created_at": "2024-03-18T18:15:43.526470+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/fa5469a5-1a4d-4cb0-b256-503c2158cd6b", "rel": "self"}, {"href": "http://localhost/allocations/fa5469a5-1a4d-4cb0-b256-503c2158cd6b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/fa5469a5-1a4d-4cb0-b256-503c2158cd6b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3968eeb3-4374-4948-8d45-e4bc2c6fc066 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fa5469a5-1a4d-4cb0-b256-503c2158cd6b", "created_at": "2024-03-18T18:15:43.526470+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/fa5469a5-1a4d-4cb0-b256-503c2158cd6b", "rel": "self"}, {"href": "http://localhost/allocations/fa5469a5-1a4d-4cb0-b256-503c2158cd6b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.036472s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/5d623fb4-e4d2-4a96-969e-bd91146d92f5.json WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-04b3d5e1-8673-455b-b439-2c32c49f2c2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5d623fb4-e4d2-4a96-969e-bd91146d92f5", "created_at": "2024-03-18T18:15:43.571925+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5d623fb4-e4d2-4a96-969e-bd91146d92f5", "rel": "self"}, {"href": "http://localhost/deploy_templates/5d623fb4-e4d2-4a96-969e-bd91146d92f5", "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_allocation.TestPatch.test_replace_singular [0.058722s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/cad840e3-dd2f-45a4-888b-1e96292a4b3c 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-499ce9e2-67ae-42bf-9313-b690ad7e81a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "cad840e3-dd2f-45a4-888b-1e96292a4b3c", "created_at": "2024-03-18T18:15:43.581855+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/cad840e3-dd2f-45a4-888b-1e96292a4b3c", "rel": "self"}, {"href": "http://localhost/allocations/cad840e3-dd2f-45a4-888b-1e96292a4b3c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/cad840e3-dd2f-45a4-888b-1e96292a4b3c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3498206d-a802-4d14-b805-f4a443b51e39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "cad840e3-dd2f-45a4-888b-1e96292a4b3c", "created_at": "2024-03-18T18:15:43.581855+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/cad840e3-dd2f-45a4-888b-1e96292a4b3c", "rel": "self"}, {"href": "http://localhost/allocations/cad840e3-dd2f-45a4-888b-1e96292a4b3c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.034273s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/a8b83af6-b442-455a-b2ac-6ed0179f5368 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba100306-0c74-4c2f-9d5d-0679b7131967 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a8b83af6-b442-455a-b2ac-6ed0179f5368", "created_at": "2024-03-18T18:15:43.606471+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a8b83af6-b442-455a-b2ac-6ed0179f5368", "rel": "self"}, {"href": "http://localhost/deploy_templates/a8b83af6-b442-455a-b2ac-6ed0179f5368", "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_deploy_template.TestPatch.test_update_name_custom_trait [0.484336s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/f02201ea-3dc0-49cd-b043-aa56c6abb5ee 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-ee5d1c69-dd61-4f43-ae50-dca9f3d4407b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f02201ea-3dc0-49cd-b043-aa56c6abb5ee", "created_at": "2024-03-18T18:15:43.596747+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f02201ea-3dc0-49cd-b043-aa56c6abb5ee", "rel": "self"}, {"href": "http://localhost/deploy_templates/f02201ea-3dc0-49cd-b043-aa56c6abb5ee", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.044536s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53bdeac9-e7bd-462a-ac94-5bbb2f951026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1befd74e-c4a7-47b8-9aee-2d084c791847", "created_at": "2024-03-18T18:15:43.640273+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847", "rel": "self"}, {"href": "http://localhost/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12b50690-240b-499d-b58c-4da0d7a1ef61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1befd74e-c4a7-47b8-9aee-2d084c791847", "created_at": "2024-03-18T18:15:43.640273+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847", "rel": "self"}, {"href": "http://localhost/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94264d4a-27d3-45e5-a813-3e1ff2657f33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1befd74e-c4a7-47b8-9aee-2d084c791847", "created_at": "2024-03-18T18:15:43.640273+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847", "rel": "self"}, {"href": "http://localhost/deploy_templates/1befd74e-c4a7-47b8-9aee-2d084c791847", "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_allocation.TestPatch.test_update_error [0.051749s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/5895657f-b585-47a5-b84b-a05a077cb885 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-f8e72657-8e53-4683-82c6-3384ab7defbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestDelete.test_delete_allocation_by_name_with_json [0.243848s] ... 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-49632ace-59f8-47e9-8258-0f6ce56f7d22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_deploy_template.TestListDeployTemplates.test_many [0.038682s] ... 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-f8a4d5a9-c376-4458-aef4-2bc67a65b74b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "80491b88-e843-4505-a3c5-a5dc0330521e", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/80491b88-e843-4505-a3c5-a5dc0330521e", "rel": "self"}, {"href": "http://localhost/deploy_templates/80491b88-e843-4505-a3c5-a5dc0330521e", "rel": "bookmark"}]}, {"uuid": "59af219b-8dc9-4d92-8e1e-4bde48c462b1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/59af219b-8dc9-4d92-8e1e-4bde48c462b1", "rel": "self"}, {"href": "http://localhost/deploy_templates/59af219b-8dc9-4d92-8e1e-4bde48c462b1", "rel": "bookmark"}]}, {"uuid": "7ce7e636-fd7b-41c9-a207-34abf8d437e7", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/7ce7e636-fd7b-41c9-a207-34abf8d437e7", "rel": "self"}, {"href": "http://localhost/deploy_templates/7ce7e636-fd7b-41c9-a207-34abf8d437e7", "rel": "bookmark"}]}, {"uuid": "f7659dcf-8eff-490a-bf8c-4eab8f5ac6f1", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/f7659dcf-8eff-490a-bf8c-4eab8f5ac6f1", "rel": "self"}, {"href": "http://localhost/deploy_templates/f7659dcf-8eff-490a-bf8c-4eab8f5ac6f1", "rel": "bookmark"}]}, {"uuid": "61013895-f238-474c-adba-265e2a435f2e", "name": "CUSTOM_DT4", "links": [{"href": "http://localhost/v1/deploy_templates/61013895-f238-474c-adba-265e2a435f2e", "rel": "self"}, {"href": "http://localhost/deploy_templates/61013895-f238-474c-adba-265e2a435f2e", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.048475s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/65936590-490f-4258-8406-42439bff5471 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-e69101f9-f6c6-4325-af68-e7fefd908b6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.046280s] ... 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-2e30afef-a1c8-4613-9494-0d7156d1be86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "c9fafda5-497e-4bdf-b11d-0cd481b86887", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/c9fafda5-497e-4bdf-b11d-0cd481b86887", "rel": "self"}, {"href": "http://localhost/deploy_templates/c9fafda5-497e-4bdf-b11d-0cd481b86887", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.034862s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/37f54279-c03e-4e5f-b5b8-bbc4ee7d405b 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-7118494f-036d-4b1b-a263-eec4194a6858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 37f54279-c03e-4e5f-b5b8-bbc4ee7d405b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.125041s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/73d0d797-23cb-437a-9401-fcce25f3abc2 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-259e38bb-9e47-42b0-af0d-fce8fb886d02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "73d0d797-23cb-437a-9401-fcce25f3abc2", "created_at": "2024-03-18T18:15:43.716894+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/73d0d797-23cb-437a-9401-fcce25f3abc2", "rel": "self"}, {"href": "http://localhost/deploy_templates/73d0d797-23cb-437a-9401-fcce25f3abc2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.032519s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/f0efe7b3-184f-4c19-b169-34b34f29e395 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7db535b7-803e-42b8-9543-cb8a3a538b24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f0efe7b3-184f-4c19-b169-34b34f29e395", "created_at": "2024-03-18T18:15:43.780630+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f0efe7b3-184f-4c19-b169-34b34f29e395", "rel": "self"}, {"href": "http://localhost/deploy_templates/f0efe7b3-184f-4c19-b169-34b34f29e395", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": [], "password": "******"}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.039720s] ... 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-8e48f32a-ed73-477d-a873-c630783d2d64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "23b74d9f-5075-407c-9a12-1af4da33abd4", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/23b74d9f-5075-407c-9a12-1af4da33abd4", "rel": "self"}, {"href": "http://localhost/deploy_templates/23b74d9f-5075-407c-9a12-1af4da33abd4", "rel": "bookmark"}]}, {"uuid": "44b8e87f-5909-46ae-87d1-9dd3e1550a9a", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/44b8e87f-5909-46ae-87d1-9dd3e1550a9a", "rel": "self"}, {"href": "http://localhost/deploy_templates/44b8e87f-5909-46ae-87d1-9dd3e1550a9a", "rel": "bookmark"}]}, {"uuid": "57830b2f-2a6c-41a6-8cac-d52b1a068569", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/57830b2f-2a6c-41a6-8cac-d52b1a068569", "rel": "self"}, {"href": "http://localhost/deploy_templates/57830b2f-2a6c-41a6-8cac-d52b1a068569", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.185608s] ... 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-90c86251-4238-4724-a267-a766270bc079 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_deploy_template.TestPatch.test_update_not_found [0.074852s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/8907b755-ca5f-4259-bdf7-98047a840af5 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-9333737d-0621-4ebe-908b-f8b78e4461f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 8907b755-ca5f-4259-bdf7-98047a840af5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.038216s] ... 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-975178fa-e26a-44cc-9e83-cddd6f7620c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "abf2f736-c85d-4cfa-a61f-32bcc1270a4d", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/abf2f736-c85d-4cfa-a61f-32bcc1270a4d", "rel": "self"}, {"href": "http://localhost/deploy_templates/abf2f736-c85d-4cfa-a61f-32bcc1270a4d", "rel": "bookmark"}]}, {"uuid": "b9cde209-e0cc-41a5-9a2c-7a5e42d292af", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/b9cde209-e0cc-41a5-9a2c-7a5e42d292af", "rel": "self"}, {"href": "http://localhost/deploy_templates/b9cde209-e0cc-41a5-9a2c-7a5e42d292af", "rel": "bookmark"}]}, {"uuid": "32f6212d-b2bc-4a3f-96fd-e803e1bbf4b2", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/32f6212d-b2bc-4a3f-96fd-e803e1bbf4b2", "rel": "self"}, {"href": "http://localhost/deploy_templates/32f6212d-b2bc-4a3f-96fd-e803e1bbf4b2", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.052750s] ... 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-ad46d759-5fb7-4d82-852e-65d55d51fc82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-082bf90a-5563-481d-97d4-2bfa8774072b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-c0f6b462-5323-4a54-868b-fc86721d1fcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.200228s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/e424d82b-59a2-4608-863a-be65f0494a69 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-9c611f4c-e86d-405d-96aa-961cb450a654 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_driver.TestDriverProperties.test_driver_properties_cached [0.037525s] ... 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-960a4136-e16a-4b75-b260-cc5897ffab91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-0c8fa0ef-f145-4674-8e29-e88882a37683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-261bb5c0-62a5-4e93-b44e-0067b564fc93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.106912s] ... 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-a59eaf39-0a96-4f7e-8b34-9e249b01c4b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_chassis.TestListChassis.test_collection_links [0.038371s] ... 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-94ca8d20-6df8-4c29-998a-223d3c85116b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "016ad3ce-4fe7-415a-b1e7-df540096aee9", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/016ad3ce-4fe7-415a-b1e7-df540096aee9", "rel": "self"}, {"href": "http://localhost/chassis/016ad3ce-4fe7-415a-b1e7-df540096aee9", "rel": "bookmark"}]}, {"uuid": "b463043e-3db4-4139-babe-6cdeadce69c6", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/b463043e-3db4-4139-babe-6cdeadce69c6", "rel": "self"}, {"href": "http://localhost/chassis/b463043e-3db4-4139-babe-6cdeadce69c6", "rel": "bookmark"}]}, {"uuid": "010a990e-40a6-4247-a7c4-d5bf7f1203c3", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/010a990e-40a6-4247-a7c4-d5bf7f1203c3", "rel": "self"}, {"href": "http://localhost/chassis/010a990e-40a6-4247-a7c4-d5bf7f1203c3", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=010a990e-40a6-4247-a7c4-d5bf7f1203c3"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.141270s] ... 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_driver.TestDriverProperties.test_driver_properties_cannot_load [0.029373s] ... 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-52ebc8dc-6009-4bcd-8050-fedecb90e40e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_chassis.TestListChassis.test_collection_links_custom_fields [0.054469s] ... 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-af8435a6-2d87-4d70-a9a4-835503d4bafc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9c8a3a95-d4a4-4715-af46-6d477d3e41c1", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9c8a3a95-d4a4-4715-af46-6d477d3e41c1", "rel": "self"}, {"href": "http://localhost/chassis/9c8a3a95-d4a4-4715-af46-6d477d3e41c1", "rel": "bookmark"}]}, {"uuid": "f0b1db5a-654b-43b2-b7f6-f6855dc5d199", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/f0b1db5a-654b-43b2-b7f6-f6855dc5d199", "rel": "self"}, {"href": "http://localhost/chassis/f0b1db5a-654b-43b2-b7f6-f6855dc5d199", "rel": "bookmark"}]}, {"uuid": "c0dd7678-df26-482b-86ec-53d0db940501", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/c0dd7678-df26-482b-86ec-53d0db940501", "rel": "self"}, {"href": "http://localhost/chassis/c0dd7678-df26-482b-86ec-53d0db940501", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=c0dd7678-df26-482b-86ec-53d0db940501"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.049511s] ... 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-8397c93e-6eb5-45eb-99ce-a1b04870ebde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.034643s] ... 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-9dce4029-8fc3-41d3-8137-3ef92426dedb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_chassis.TestListChassis.test_collection_links_default_limit [0.034848s] ... 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-31df353c-ac47-48eb-adb6-478067fbf89d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "e3b3f5bd-7eda-4c0d-b793-8b190bb6e7b2", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e3b3f5bd-7eda-4c0d-b793-8b190bb6e7b2", "rel": "self"}, {"href": "http://localhost/chassis/e3b3f5bd-7eda-4c0d-b793-8b190bb6e7b2", "rel": "bookmark"}]}, {"uuid": "3236bcfa-56be-4916-9730-b122dcf02ef1", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/3236bcfa-56be-4916-9730-b122dcf02ef1", "rel": "self"}, {"href": "http://localhost/chassis/3236bcfa-56be-4916-9730-b122dcf02ef1", "rel": "bookmark"}]}, {"uuid": "6c1715fa-6f63-427d-b9fc-eea830828948", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/6c1715fa-6f63-427d-b9fc-eea830828948", "rel": "self"}, {"href": "http://localhost/chassis/6c1715fa-6f63-427d-b9fc-eea830828948", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=6c1715fa-6f63-427d-b9fc-eea830828948"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.097113s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/62653546-ed25-43ef-a83c-232255c51aa3/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cd124bd-80c7-431c-ad83-c1102c498f2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 62653546-ed25-43ef-a83c-232255c51aa3 was not found\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.029798s] ... 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-ec577e38-d541-4898-983b-2e392df15e0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_chassis.TestListChassis.test_detail [0.047969s] ... 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-377afd91-45ac-49e2-aedf-d435a2449419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:44.120947+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_event.TestPost.test_events_does_not_contain_event [0.158889s] ... 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-1316823f-fd2f-4646-a117-113776c04701 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_inventory [0.055821s] ... 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-5e27b292-b10c-4d99-ad1b-d744d61491d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_chassis.TestListChassis.test_detail_against_single [0.052012s] ... 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-f98cf10d-d2cf-41b7-ba27-4a58fb53be9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.095886s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/d42bd4ba-909d-4025-acd1-fa31bd21c81d 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_event.TestPost.test_events_invalid_event [0.050264s] ... 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-9aff5dfb-9963-406d-b741-691d33b47fbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeInventory.test_get_inventory_no_inventory [0.041098s] ... 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-19953792-2360-4588-88fb-f4f397e27adc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.040164s] ... 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-a89fc2c0-9642-4cd8-8e1c-57ac49be9478 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:44.215321+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.TestNodeInventory.test_get_old_version [0.031189s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.045817s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.050966s] ... 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-a40b0729-fc88-4b6c-b45f-7ee13073268f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.049613s] ... 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-40e95fff-14e3-46ab-86cd-1b5613016439 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-f9d564e9-e7f0-4531-91b5-bf8f1c1e0174 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.038878s] ... 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-258dbf5b-e50c-4115-bcbe-52393cc00748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeShardPost.test_create_node_with_shard [0.099024s] ... 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-19529d7d-56df-4c18-aaf1-46321b268d5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:44.313940+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-e1a4a605-7281-4238-b9b1-63c91c534bc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:44.313940+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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.039547s] ... 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-116c13f2-3bc7-4bcd-8337-2e62b3df0028 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.065982s] ... 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-2a74bb91-e57d-42fb-91be-b30f0e762bdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_chassis.TestListChassis.test_detail_using_query_old_version [0.030769s] ... 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-22e2aea5-f866-4148-b59f-e6bca84b5a11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.059101s] ... 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-0b5553af-9eb8-4141-a08a-ee7e68416c13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestDelete.test_delete_allocation_invalid_node [0.159941s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/8a1259a4-ad08-442d-800f-ae2fe200e2d7/allocation GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f5bda9f-a86b-4744-8ccb-695c94809394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8a1259a4-ad08-442d-800f-ae2fe200e2d7 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPost.test_create_node_with_shard_fail_wrong_version [0.071034s] ... 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-1a7a7ed8-6217-4539-acdf-48b301c4a9ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_chassis.TestListChassis.test_empty [0.028353s] ... 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-76099ff1-e233-441f-95a7-4c37d8941e99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_event.TestPost.test_network_delete_port_events [0.056052s] ... 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-376e1d06-a73b-495b-83c9-e88d97050ef8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_chassis.TestListChassis.test_get_collection_custom_fields [0.032756s] ... 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-785ac686-a27f-4a9c-b654-081db79b08ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "5163f1fb-9887-4b83-9f77-00b1713c2a24", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/5163f1fb-9887-4b83-9f77-00b1713c2a24", "rel": "self"}, {"href": "http://localhost/chassis/5163f1fb-9887-4b83-9f77-00b1713c2a24", "rel": "bookmark"}]}, {"uuid": "442b4820-577a-4369-9546-b7120fe51169", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/442b4820-577a-4369-9546-b7120fe51169", "rel": "self"}, {"href": "http://localhost/chassis/442b4820-577a-4369-9546-b7120fe51169", "rel": "bookmark"}]}, {"uuid": "fc22c912-563f-4a76-9709-d118899e9dae", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/fc22c912-563f-4a76-9709-d118899e9dae", "rel": "self"}, {"href": "http://localhost/chassis/fc22c912-563f-4a76-9709-d118899e9dae", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.063328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.077018s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/ea2df87e-e9fc-4bfe-87f4-fa60acebbd9c GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8ef3361-d900-4f14-a4f2-b95896fdaa2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.038586s] ... 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-bbc879b2-e3c8-44f2-a0e1-c6452d31be71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/de11f2de-1ceb-4dc6-b85b-27b0817084c3", "rel": "self"}, {"href": "http://localhost/chassis/de11f2de-1ceb-4dc6-b85b-27b0817084c3", "rel": "bookmark"}]}, {"extra": {}, "links": [{"href": "http://localhost/v1/chassis/912efc57-ead7-4237-ad36-7e53b4c762f2", "rel": "self"}, {"href": "http://localhost/chassis/912efc57-ead7-4237-ad36-7e53b4c762f2", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=912efc57-ead7-4237-ad36-7e53b4c762f2"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.070376s] ... 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-3b13ff72-3ffc-4194-8e4e-0585ca2f54cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.035453s] ... 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-4314154b-65a2-43d8-afe1-044b256ceebb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.040712s] ... 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-6cbdca32-a467-403d-9593-efcecfac54a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.034666s] ... 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-34d53084-ec51-46fd-9c4d-ad8278e3ddcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_chassis.TestListChassis.test_get_one [0.037807s] ... 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-784b9a22-4fb9-4265-864c-3bc8c81f7d2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:44.587728+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_event.TestPost.test_network_port_event_invalid_device_id [0.055303s] ... 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-640b6bc2-4c66-4719-bc60-3bc0b7de959f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_chassis.TestListChassis.test_get_one_custom_fields [0.030352s] ... 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-e05cd93d-d8fc-4a69-805e-20a49e89226c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.163846s] ... 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': '230d7338-52e0-40af-a725-dfa3079103b0', '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/230d7338-52e0-40af-a725-dfa3079103b0 DEBUG util.py:445: Openstack-Request-Id: req-5c40e2c4-9ffc-48b4-8f10-e5e2c77ba8a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "230d7338-52e0-40af-a725-dfa3079103b0", "created_at": "2024-03-18T18:15:44.615392+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/230d7338-52e0-40af-a725-dfa3079103b0", "rel": "self"}, {"href": "http://localhost/allocations/230d7338-52e0-40af-a725-dfa3079103b0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/230d7338-52e0-40af-a725-dfa3079103b0 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a539ac1d-ab84-4c96-82a4-875d257c9fdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "230d7338-52e0-40af-a725-dfa3079103b0", "created_at": "2024-03-18T18:15:44.615392+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/230d7338-52e0-40af-a725-dfa3079103b0", "rel": "self"}, {"href": "http://localhost/allocations/230d7338-52e0-40af-a725-dfa3079103b0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.038647s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38bedf13-0428-4091-85d6-5bce3f34e0bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "created_at": "2024-03-18T18:15:44.651168+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "rel": "self"}, {"href": "http://localhost/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27cb3097-1a85-47c7-9cc1-81406db6702a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "created_at": "2024-03-18T18:15:44.651168+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "rel": "self"}, {"href": "http://localhost/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a6c4a34-a1bf-4028-bd08-3854e11fea2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "created_at": "2024-03-18T18:15:44.651168+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "rel": "self"}, {"href": "http://localhost/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/84a9e9c8-6a43-4f3f-9ca5-edeced68354c/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.216725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.094196s] ... 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-dc1bc2e4-f012-4b12-9b35-7f94232d4b16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.038952s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e145670d-b67b-4069-97b3-937423c9ac1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "created_at": "2024-03-18T18:15:44.691430+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "rel": "self"}, {"href": "http://foo/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7/nodes", "rel": "self"}, {"href": "http://foo/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdc76dac-55ec-43a1-80ea-0a9ab323d5cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "created_at": "2024-03-18T18:15:44.691430+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "rel": "self"}, {"href": "http://foo/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7/nodes", "rel": "self"}, {"href": "http://foo/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET /chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22841971-ce61-490e-85f7-2511a1765227 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "created_at": "2024-03-18T18:15:44.691430+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "rel": "self"}, {"href": "http://foo/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7/nodes", "rel": "self"}, {"href": "http://foo/chassis/a14a98b2-cf57-4263-b7c3-d19a10b8c8d7/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.034742s] ... 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-4514da53-119b-4476-a0e1-3943ffaf9aeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "eee27a8e-a4de-4588-a617-ab53c3cd27f3", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/eee27a8e-a4de-4588-a617-ab53c3cd27f3", "rel": "self"}, {"href": "http://localhost/chassis/eee27a8e-a4de-4588-a617-ab53c3cd27f3", "rel": "bookmark"}]}, {"uuid": "d2926684-aae7-4338-8a46-5b05895de6ec", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/d2926684-aae7-4338-8a46-5b05895de6ec", "rel": "self"}, {"href": "http://localhost/chassis/d2926684-aae7-4338-8a46-5b05895de6ec", "rel": "bookmark"}]}, {"uuid": "34bd8fab-c72d-4dac-9468-cdc5ce3d22ba", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/34bd8fab-c72d-4dac-9468-cdc5ce3d22ba", "rel": "self"}, {"href": "http://localhost/chassis/34bd8fab-c72d-4dac-9468-cdc5ce3d22ba", "rel": "bookmark"}]}, {"uuid": "df423fc9-5e1c-4b41-bc26-3c51a0e069fa", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/df423fc9-5e1c-4b41-bc26-3c51a0e069fa", "rel": "self"}, {"href": "http://localhost/chassis/df423fc9-5e1c-4b41-bc26-3c51a0e069fa", "rel": "bookmark"}]}, {"uuid": "9c309058-e63d-462b-b52f-442ebfceae8d", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/9c309058-e63d-462b-b52f-442ebfceae8d", "rel": "self"}, {"href": "http://localhost/chassis/9c309058-e63d-462b-b52f-442ebfceae8d", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.067627s] ... 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-2d351b4d-923a-4b59-a30a-d99cfc672849 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.130593s] ... 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/c7aa3518-b39a-4c67-adca-cbf86d24647d DEBUG util.py:445: Openstack-Request-Id: req-36d5e749-a1ce-4a5c-b354-33a2619fda19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c7aa3518-b39a-4c67-adca-cbf86d24647d", "created_at": "2024-03-18T18:15:44.727702+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/c7aa3518-b39a-4c67-adca-cbf86d24647d", "rel": "self"}, {"href": "http://localhost/allocations/c7aa3518-b39a-4c67-adca-cbf86d24647d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/c7aa3518-b39a-4c67-adca-cbf86d24647d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78660841-7c86-47b9-813b-db009c6d6d96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c7aa3518-b39a-4c67-adca-cbf86d24647d", "created_at": "2024-03-18T18:15:44.727702+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/c7aa3518-b39a-4c67-adca-cbf86d24647d", "rel": "self"}, {"href": "http://localhost/allocations/c7aa3518-b39a-4c67-adca-cbf86d24647d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.081725s] ... 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-34bcd9f6-d557-4f57-87ce-38b330f07647 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.058698s] ... 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-96a09c49-81ba-480e-a712-c16f952ea821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1271b132-2f83-41a0-8c9c-6b693714fe70", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1271b132-2f83-41a0-8c9c-6b693714fe70", "rel": "self"}, {"href": "http://localhost/nodes/1271b132-2f83-41a0-8c9c-6b693714fe70", "rel": "bookmark"}]}, {"uuid": "1c92f313-4b5b-4ea6-b31a-b40711d4eab6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1c92f313-4b5b-4ea6-b31a-b40711d4eab6", "rel": "self"}, {"href": "http://localhost/nodes/1c92f313-4b5b-4ea6-b31a-b40711d4eab6", "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-dabd1750-392e-46c4-a512-07c6cddfefd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1271b132-2f83-41a0-8c9c-6b693714fe70", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1271b132-2f83-41a0-8c9c-6b693714fe70", "rel": "self"}, {"href": "http://localhost/nodes/1271b132-2f83-41a0-8c9c-6b693714fe70", "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=1271b132-2f83-41a0-8c9c-6b693714fe70"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.029433s] ... 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-587976b4-137b-4988-a951-ae1494e73216 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.050749s] ... 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-0601317f-63c4-4876-9b77-dac61a5b90b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.030287s] ... 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-e2899e72-e74c-4f11-9930-fa39338709e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:44.853221+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.TestPatch.test_add_chassis_uuid [0.123310s] ... 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-5c7fda0b-c912-47f9-a223-97fba6af7465 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:44.788004+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_event.TestPost.test_network_unbind_port_events [0.050752s] ... 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-4464a01e-50cd-4431-aed4-366afd297e72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.031060s] ... 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-57f70dad-51ca-4e93-ad74-840c5aa34e6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocation.TestPost.test_backfill_node_not_found [0.121942s] ... 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': 'ee59f0f5-5234-4d42-85f5-b2bfc79546c0', 'owner': None, 'node': 'fa27430a-a6ed-4863-aaba-0524cb02eaa4'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3cf328d-5fdd-474b-919c-70b23bf196da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fa27430a-a6ed-4863-aaba-0524cb02eaa4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.036198s] ... 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-81d4c410-15c6-4e1d-958e-08921a74b964 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.051071s] ... 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-fb6b4d03-dfda-4ba8-b084-551aa1d35176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.035328s] ... 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-281e4d71-98ac-4688-b90b-9d40e441660c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1d03c8c0-9809-4a93-9e91-e71b94ce8741", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/1d03c8c0-9809-4a93-9e91-e71b94ce8741", "rel": "self"}, {"href": "http://localhost/chassis/1d03c8c0-9809-4a93-9e91-e71b94ce8741", "rel": "bookmark"}]}, {"uuid": "5df7750a-1103-43e5-b196-635c44fa6205", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/5df7750a-1103-43e5-b196-635c44fa6205", "rel": "self"}, {"href": "http://localhost/chassis/5df7750a-1103-43e5-b196-635c44fa6205", "rel": "bookmark"}]}, {"uuid": "d69a223a-98d0-4693-a751-e9a0dfd68cf0", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/d69a223a-98d0-4693-a751-e9a0dfd68cf0", "rel": "self"}, {"href": "http://localhost/chassis/d69a223a-98d0-4693-a751-e9a0dfd68cf0", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.090983s] ... 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-fa08c4d0-9924-4d83-86f4-3ac384fab3cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.034995s] ... 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-eb92cc00-5d9d-46b2-99a0-b31252053b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-227d36b2-24dc-4f88-8af3-183ec0e55841 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_add_ok [0.119598s] ... 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-813a69dc-8775-466f-a015-303cbe60a5a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:44.915070+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_allocation.TestPost.test_backfill_with_name [0.055353s] ... 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': '118aca96-b31e-4b8b-8975-002e4716f2f6', '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/118aca96-b31e-4b8b-8975-002e4716f2f6 DEBUG util.py:445: Openstack-Request-Id: req-a1c1d0f3-72d3-4c2c-ad99-0d78330a97ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "118aca96-b31e-4b8b-8975-002e4716f2f6", "created_at": "2024-03-18T18:15:44.993334+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/118aca96-b31e-4b8b-8975-002e4716f2f6", "rel": "self"}, {"href": "http://localhost/allocations/118aca96-b31e-4b8b-8975-002e4716f2f6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/118aca96-b31e-4b8b-8975-002e4716f2f6 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-84b92583-0213-40fa-83b9-3689670c574d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "118aca96-b31e-4b8b-8975-002e4716f2f6", "created_at": "2024-03-18T18:15:44.993334+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/118aca96-b31e-4b8b-8975-002e4716f2f6", "rel": "self"}, {"href": "http://localhost/allocations/118aca96-b31e-4b8b-8975-002e4716f2f6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.061702s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'f3d778e9-2ac6-437f-987d-40899fb2d69f', '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/f3d778e9-2ac6-437f-987d-40899fb2d69f DEBUG util.py:445: Openstack-Request-Id: req-76ab460b-ca32-44a8-9d3c-f85600d28005 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f3d778e9-2ac6-437f-987d-40899fb2d69f", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f3d778e9-2ac6-437f-987d-40899fb2d69f", "rel": "self"}, {"href": "http://localhost/deploy_templates/f3d778e9-2ac6-437f-987d-40899fb2d69f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/f3d778e9-2ac6-437f-987d-40899fb2d69f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4581dfa1-90ad-4d6b-a1fb-f3b6e16b022c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f3d778e9-2ac6-437f-987d-40899fb2d69f", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f3d778e9-2ac6-437f-987d-40899fb2d69f", "rel": "self"}, {"href": "http://localhost/deploy_templates/f3d778e9-2ac6-437f-987d-40899fb2d69f", "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_allocation.TestPost.test_backfill_without_resource_class [0.062402s] ... 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/adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6 DEBUG util.py:445: Openstack-Request-Id: req-30a5aafe-925a-4a1f-90a2-64ef417d25a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6", "created_at": "2024-03-18T18:15:45.054785+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/adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6", "rel": "self"}, {"href": "http://localhost/allocations/adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/allocations/adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5071c39-4c40-4211-ae68-8e4addb4d573 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6", "created_at": "2024-03-18T18:15:45.054785+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/adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6", "rel": "self"}, {"href": "http://localhost/allocations/adf34fcb-c26c-4c6d-a7e2-30ba7f4bd1e6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.099164s] ... 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-8a6fe40a-6e2e-4c5a-9d7c-51e6eba1c7fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:45.030204+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_deploy_template.TestPost.test_create_complex_step_args [0.040871s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '5380915d-c669-44cd-ba01-408e1734aa5e', '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/5380915d-c669-44cd-ba01-408e1734aa5e DEBUG util.py:445: Openstack-Request-Id: req-e7ca1e6e-ffc0-42bf-b3d6-3e6714723b88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5380915d-c669-44cd-ba01-408e1734aa5e", "created_at": "2024-03-18T18:15:45.098670+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5380915d-c669-44cd-ba01-408e1734aa5e", "rel": "self"}, {"href": "http://localhost/deploy_templates/5380915d-c669-44cd-ba01-408e1734aa5e", "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.TestAttachDetachVif.test_vif_attach [0.131953s] ... 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': '5935abd1-038b-4543-a690-fddf70a91718'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-0f000305-21fd-46d4-985c-1e71593cff6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.049955s] ... 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-0b2019ec-4a27-422d-aeb4-3c00551ed8cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.086238s] ... 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': '9f31f58a-9dc1-4dc3-8200-ae4576f87b5b', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/9f31f58a-9dc1-4dc3-8200-ae4576f87b5b DEBUG util.py:445: Openstack-Request-Id: req-fe8313ea-0a20-43e3-8f87-27111ce9e2ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9f31f58a-9dc1-4dc3-8200-ae4576f87b5b", "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/9f31f58a-9dc1-4dc3-8200-ae4576f87b5b", "rel": "self"}, {"href": "http://localhost/allocations/9f31f58a-9dc1-4dc3-8200-ae4576f87b5b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/9f31f58a-9dc1-4dc3-8200-ae4576f87b5b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-525a9c21-7cd4-4675-9b14-0beb988afeb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "9f31f58a-9dc1-4dc3-8200-ae4576f87b5b", "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/9f31f58a-9dc1-4dc3-8200-ae4576f87b5b", "rel": "self"}, {"href": "http://localhost/allocations/9f31f58a-9dc1-4dc3-8200-ae4576f87b5b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.052580s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'af2569f0-2054-4fd5-809a-e67494ea0843', '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/af2569f0-2054-4fd5-809a-e67494ea0843 DEBUG util.py:445: Openstack-Request-Id: req-7dc24999-e92f-4922-a2fb-9f46157fc49a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "af2569f0-2054-4fd5-809a-e67494ea0843", "created_at": "2024-03-18T18:15:45.147126+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/af2569f0-2054-4fd5-809a-e67494ea0843", "rel": "self"}, {"href": "http://localhost/deploy_templates/af2569f0-2054-4fd5-809a-e67494ea0843", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/af2569f0-2054-4fd5-809a-e67494ea0843 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3c2c4b7-d8b8-4b27-9837-09f66a7c9bce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "af2569f0-2054-4fd5-809a-e67494ea0843", "created_at": "2024-03-18T18:15:45.147126+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/af2569f0-2054-4fd5-809a-e67494ea0843", "rel": "self"}, {"href": "http://localhost/deploy_templates/af2569f0-2054-4fd5-809a-e67494ea0843", "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.TestAttachDetachVif.test_vif_attach_by_node_name [0.062225s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/node-39/vifs WITH {'id': '646c2a9f-e371-4dc9-9334-334f42d78b93'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-fb9d568e-d0fa-4d51-a57f-908d7e5674fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_deploy_template.TestPost.test_create_error [0.039344s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'c9fa6323-f496-48aa-a72e-0b1e55ba092d', '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-2da01c8d-d2f4-462d-b698-2cc8ca4ee0c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_add_state_in_cleaning [0.055096s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/533fa366-ac6b-4280-a71e-883ab65674d0 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-1c502a45-9758-43ad-85b8-ee2867dda1a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 533fa366-ac6b-4280-a71e-883ab65674d0 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.051578s] ... 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': 'a9e84d75-e4f7-458d-b65b-3d9f4eb3d038', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89ee8842-1465-4c69-ab73-a7d9bdc5b03c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.056204s] ... 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/70e7e2d1-7a45-48fc-b35a-a800b3265540 DEBUG util.py:445: Openstack-Request-Id: req-4864dd27-439f-4879-a332-c3ae1656f999 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "70e7e2d1-7a45-48fc-b35a-a800b3265540", "created_at": "2024-03-18T18:15:45.243597+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/70e7e2d1-7a45-48fc-b35a-a800b3265540", "rel": "self"}, {"href": "http://localhost/deploy_templates/70e7e2d1-7a45-48fc-b35a-a800b3265540", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET /v1/deploy_templates/70e7e2d1-7a45-48fc-b35a-a800b3265540 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6383e141-6fcf-461e-a021-7720b7f2de67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "70e7e2d1-7a45-48fc-b35a-a800b3265540", "created_at": "2024-03-18T18:15:45.243597+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/70e7e2d1-7a45-48fc-b35a-a800b3265540", "rel": "self"}, {"href": "http://localhost/deploy_templates/70e7e2d1-7a45-48fc-b35a-a800b3265540", "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_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.056182s] ... 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': '7c45be00-42e4-46e3-b209-614e6cbf06aa', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-017f4b70-bd11-41dc-b8ff-4b80e32e5bfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.028068s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '93e8cd39-5c68-43af-aafe-5adca691395e', '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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.096271s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/46ecce18-26cc-4bca-8e27-e3c4867c93e3 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-31eee83b-4464-4e8b-82e9-c02d9edff84b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "46ecce18-26cc-4bca-8e27-e3c4867c93e3", "created_at": "2024-03-18T18:15:45.249306+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/46ecce18-26cc-4bca-8e27-e3c4867c93e3", "rel": "self"}, {"href": "http://localhost/nodes/46ecce18-26cc-4bca-8e27-e3c4867c93e3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/46ecce18-26cc-4bca-8e27-e3c4867c93e3/ports", "rel": "self"}, {"href": "http://localhost/nodes/46ecce18-26cc-4bca-8e27-e3c4867c93e3/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.034913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'aa83ab18-fb38-48af-b662-2f2876b7a6b7', 'steps': [], 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b9ae809-3b27-4b1d-bc8c-67d532bf92c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.150096s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/node-39/vifs WITH {'id': '9a8f4122-548a-4f59-930b-12ea35c903e6'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1528617-2a70-4bb6-bbf7-ee91c93eef58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.081059s] ... 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': '6329589a-1c68-4e7b-a9ff-40ba7352866d', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/6329589a-1c68-4e7b-a9ff-40ba7352866d DEBUG util.py:445: Openstack-Request-Id: req-96d4871c-4174-4392-826c-bee7de6e41b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6329589a-1c68-4e7b-a9ff-40ba7352866d", "created_at": "2024-03-18T18:15:45.341676+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/6329589a-1c68-4e7b-a9ff-40ba7352866d", "rel": "self"}, {"href": "http://localhost/allocations/6329589a-1c68-4e7b-a9ff-40ba7352866d", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/6329589a-1c68-4e7b-a9ff-40ba7352866d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f329ea39-c364-47ff-9939-4a35bcab36cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6329589a-1c68-4e7b-a9ff-40ba7352866d", "created_at": "2024-03-18T18:15:45.341676+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/6329589a-1c68-4e7b-a9ff-40ba7352866d", "rel": "self"}, {"href": "http://localhost/allocations/6329589a-1c68-4e7b-a9ff-40ba7352866d", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.036995s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '891683d9-c0d0-49ee-84c9-dd953d97727a', '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-90be26c8-9150-4cf8-9873-59ef57682642 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.036245s] ... 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': '6fe26c13-6fe9-4740-af32-9bc1e5d678b5', 'owner': None} GOT Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e172c646-0af4-4ec0-9436-ab7d04a9992d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_patch_add_name_empty_invalid [0.067868s] ... 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-a04607f0-0a8e-49ce-85d9-25da5fd068ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.055863s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '2ce91e44-be99-4402-b586-2dd50fc473e4', '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-7eb7fe3d-146b-4291-b709-4177168985b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.050842s] ... 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-7fa5e41f-2baa-4f95-9a1d-fc33a69528f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocation.TestPost.test_create_allocation_generate_uuid [0.048881s] ... 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/a2cac992-c688-4050-98e1-7254f6b35500 DEBUG util.py:445: Openstack-Request-Id: req-069b462d-0973-4a59-978e-78b7b4b52da9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a2cac992-c688-4050-98e1-7254f6b35500", "created_at": "2024-03-18T18:15:45.425185+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/a2cac992-c688-4050-98e1-7254f6b35500", "rel": "self"}, {"href": "http://localhost/allocations/a2cac992-c688-4050-98e1-7254f6b35500", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/a2cac992-c688-4050-98e1-7254f6b35500 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-535cc08f-f2af-4c64-8193-e03e83ab0be7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a2cac992-c688-4050-98e1-7254f6b35500", "created_at": "2024-03-18T18:15:45.425185+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/a2cac992-c688-4050-98e1-7254f6b35500", "rel": "self"}, {"href": "http://localhost/allocations/a2cac992-c688-4050-98e1-7254f6b35500", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.035036s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 42, 'uuid': 'bd1a0c90-79ef-4e7a-8a1b-a4188925825f', '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-287e6acc-33ba-49f0-abb9-068662a32b6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.111942s] ... 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-b91178e0-12f6-4b47-92de-6ac68424dd57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_allocation.TestPost.test_create_allocation_invalid_api_version [0.031384s] ... 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': '1ea75d68-43c2-44f0-b209-807211f1dbf9', '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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.053231s] ... 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-d6ae4b02-db85-41ca-abe5-c9b12f9c0da7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.041983s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': None, 'uuid': '2e2015f7-646b-4fa7-a7c3-e22a1757795c', '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-9cbf5197-f779-4dae-9788-02cdb8795f66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.044030s] ... 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': 'c8e0ef52-a121-4207-91e9-2841f7ac99c4', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08725a8f-4b33-4932-a614-d14306ae25ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.036913s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '9e020963-7730-43b4-9771-70dd2015bb97', 'steps': {}, 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5ab7ffe-3ab3-4e73-b7e0-1bb1e45a026c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestAttachDetachVif.test_vif_attach_no_vif_id [0.096594s] ... 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': '1c973498-3135-44be-8067-9200146645c7'} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-136373bd-068e-4831-a882-ca8bd517fa14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.042703s] ... 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': 'f9eee1fc-d5d1-4de8-bc87-229bbcdbe453', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30fa7ddc-cfd2-443a-8b03-ba9ee3919df6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.041658s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '3bfec214-aaca-4dc0-8ce1-91ca24232475', '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-e6a54e57-65fb-4380-a4b1-a241ed592d4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.104515s] ... 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-2090fafe-4bf1-4920-aeea-839fb9983fff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:45.518688+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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.040830s] ... 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': '2fa28065-ff7c-4f35-88f3-5f52eb7ae97c', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db8df925-029d-4676-9722-a440b1527b81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.038697s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '56bd3450-2608-49c6-8630-54a5b96dec31', '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-e6ad5d3a-2bb3-4f39-b9b3-f1572cffc7c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_deploy_template.TestPost.test_create_invalid_step_field_foo [0.035505s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '8d8dc873-f504-4a13-92b4-625e818689a3', '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-dc3c3dc1-3ad5-4cf4-abf1-15f335514e43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestAttachDetachVif.test_vif_attach_node_locked [0.095905s] ... 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': 'dd2b7f0d-6510-4f57-b7fa-b35afa6164f1'} GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-966d4f49-dd99-4fae-863e-2a1e2cfc63f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.065869s] ... 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': '5528fc58-38f0-4865-bd19-383c3b22fc42', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/5528fc58-38f0-4865-bd19-383c3b22fc42 DEBUG util.py:445: Openstack-Request-Id: req-ca9922b1-813c-4214-8315-272a7b94013f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5528fc58-38f0-4865-bd19-383c3b22fc42", "created_at": "2024-03-18T18:15:45.652841+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/5528fc58-38f0-4865-bd19-383c3b22fc42", "rel": "self"}, {"href": "http://localhost/allocations/5528fc58-38f0-4865-bd19-383c3b22fc42", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/5528fc58-38f0-4865-bd19-383c3b22fc42 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96ad0ab9-850c-4ab5-b3cb-902633594af7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5528fc58-38f0-4865-bd19-383c3b22fc42", "created_at": "2024-03-18T18:15:45.652841+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/5528fc58-38f0-4865-bd19-383c3b22fc42", "rel": "self"}, {"href": "http://localhost/allocations/5528fc58-38f0-4865-bd19-383c3b22fc42", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.034243s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '16be2463-485f-4be7-a369-6fed6dd7fc89', '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-8e38c966-28fa-4666-8f12-784247932783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.110824s] ... 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-9348ae44-e334-481d-a3d2-8892cd1d2707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-35df7ad3-5eba-4483-bbfd-878f0250ef2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-af322cea-d758-4244-a9d5-a53fcd1a35d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-14b1364f-d888-4249-8d80-6ec1a022e158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-bfd9058f-dedb-4b1a-bd44-f892cfb56302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-bf31ab1a-99e1-48cc-b169-e76836269299 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.046551s] ... 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': '44b25f8d-78d4-4014-bd56-e3c1f406ae6d', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b67e657-52f5-4d0d-9c9d-2e262bed7978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.052380s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '50e190a4-71aa-46a0-a275-93171eeb373e', '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-5a070efe-8f67-4313-9484-01af57cc2ab0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.059330s] ... 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-277cbb6c-9aeb-4c57-99ec-cf252949b54a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.051546s] ... 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': '278fc9fb-ae1b-4d23-b642-942ad7e25406', 'owner': '12345'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/278fc9fb-ae1b-4d23-b642-942ad7e25406 DEBUG util.py:445: Openstack-Request-Id: req-9d77ebaf-ca4a-45ad-b86e-ee9f1dbf49bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "278fc9fb-ae1b-4d23-b642-942ad7e25406", "created_at": "2024-03-18T18:15:45.752486+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/278fc9fb-ae1b-4d23-b642-942ad7e25406", "rel": "self"}, {"href": "http://localhost/allocations/278fc9fb-ae1b-4d23-b642-942ad7e25406", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/278fc9fb-ae1b-4d23-b642-942ad7e25406 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1c728b8-8f34-42c2-ab3b-f7fda7eabe5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "278fc9fb-ae1b-4d23-b642-942ad7e25406", "created_at": "2024-03-18T18:15:45.752486+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/278fc9fb-ae1b-4d23-b642-942ad7e25406", "rel": "self"}, {"href": "http://localhost/allocations/278fc9fb-ae1b-4d23-b642-942ad7e25406", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.039825s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '2acd3741-9b45-4bd8-bc0b-6ab81a5d657b', '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-65ab06af-c998-4f3d-a69a-45f383174708 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.143935s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes/doesntexist/vifs WITH {'id': '50396e05-f157-4a4d-b5f7-35ad2e705aa0'} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89c5babc-caf4-444f-bf2a-2bf0d63cf459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.036075s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'a9e98a1d-1eeb-474c-a5da-ecbd1ea1eb25', '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-791086fd-9c87-4c0f-b321-fc00f0590771 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.047734s] ... 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': 'ad7a1863-4ccf-4d30-8cac-5f0e08817e9c', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/ad7a1863-4ccf-4d30-8cac-5f0e08817e9c DEBUG util.py:445: Openstack-Request-Id: req-4657b8c0-321e-452d-9127-efe784277d8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ad7a1863-4ccf-4d30-8cac-5f0e08817e9c", "created_at": "2024-03-18T18:15:45.799549+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/ad7a1863-4ccf-4d30-8cac-5f0e08817e9c", "rel": "self"}, {"href": "http://localhost/allocations/ad7a1863-4ccf-4d30-8cac-5f0e08817e9c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/ad7a1863-4ccf-4d30-8cac-5f0e08817e9c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1fdb28d-5da0-4f65-b4f7-000f5b4e538e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ad7a1863-4ccf-4d30-8cac-5f0e08817e9c", "created_at": "2024-03-18T18:15:45.799549+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/ad7a1863-4ccf-4d30-8cac-5f0e08817e9c", "rel": "self"}, {"href": "http://localhost/allocations/ad7a1863-4ccf-4d30-8cac-5f0e08817e9c", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.060535s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/067f6f4b-fd75-400f-a85e-5aaabd933710 WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': '8f33803b-520b-44e7-b207-17facc60bea3'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a29cf477-b5b4-4b76-907c-ead88b4cbc0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.038640s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '362d8052-7b90-4db6-8026-ac280b702e60', '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-0a4db34a-37c5-46e5-8dc1-5bfb02800204 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.045829s] ... 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': '51a96359-d9ec-4955-bf6b-1d1c5626aa54', 'owner': '12345'} GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3aee2536-36d4-44a2-9350-b854ae93c45b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.070849s] ... 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': 'd62b82c0-04f7-46ff-b53a-b344240ad1a8', '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-56fcae5e-38a2-402a-a34d-ff66aaea2c43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.037850s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'b90f1c03-b51c-4a1d-a123-fdbc708821e1', '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/b90f1c03-b51c-4a1d-a123-fdbc708821e1 DEBUG util.py:445: Openstack-Request-Id: req-b7ddbcca-77c0-451a-928f-d09bf075ca2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b90f1c03-b51c-4a1d-a123-fdbc708821e1", "created_at": "2024-03-18T18:15:45.882108+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b90f1c03-b51c-4a1d-a123-fdbc708821e1", "rel": "self"}, {"href": "http://localhost/deploy_templates/b90f1c03-b51c-4a1d-a123-fdbc708821e1", "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.TestPost.test_create_name_invalid_not_a_trait [0.038899s] ... 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': '8fce96cc-8b67-42e7-aba8-e89a2d1d780e', '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-db3ade23-5255-4528-a97f-19b3429b65e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.067528s] ... 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': '637891df-143c-4231-b859-58b2c739a296', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-60d9a94f-c98f-4068-8478-88560ee12c10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.109330s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/dfa213d4-26a2-441c-a01d-0212fa06da09 WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'fd813293-71dd-4f8f-b6ab-91462dff9867'}] GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cdb4dace-d131-478b-93f0-efca68f5c814 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.036503s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'ceac1813-8547-4ac9-a80b-851156d29e85', '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-316c642b-9ba0-4d5a-ac44-5bcea9ff24e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.035664s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'uuid': 'c5990d3e-c2fe-49ce-8c26-1fbbf11a719f', '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-4db326e8-a1cc-4ec0-8bdc-4e28973c5eb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.089347s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/6052bc8a-f2a0-41bf-a7aa-58133ae9c319 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-e392f92a-9156-4870-91ff-76ca411ca9a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.038952s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'ce3e205c-c342-429c-a238-6620464a815c', 'extra': {}} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e9cf9db-092d-4a3f-a1c3-7a6d4bb184c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.101461s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/6172e5d4-0971-4891-9d81-1918efb18c34 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c4c898f7-7aa0-4176-b004-7463bb1b93de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.035048s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '368ffd9d-23b2-4990-86bb-6dba70d22944', '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-d462a0b7-b468-48da-83fb-d88512309084 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.042695s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/node-39/vifs/6699351b-6194-4acd-98aa-2925c0462efe GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-051b352e-9d9d-4b3b-8a93-ba9f38e2918c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.088073s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/764538af-a3c8-4844-b93b-f5d9111f2039 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-46adc60a-2882-4f96-9190-9f8432677ef3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.037976s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'ea60ac0c-4931-4979-9a59-8e1a5ce9b525', '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-ca6b752f-1785-47f2-8e29-66a8143fd457 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.255159s] ... 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': '95d31c20-fb04-41a3-a45c-7f0f2d6c5321', 'owner': '12345'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03b0d206-b1e2-479b-8cdf-469fc8ce7e7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.037172s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'd11c5c68-1721-40b3-8e99-990e9fc92ff3', '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-968872ed-4b2b-4661-bc64-ae7841ad1240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestAttachDetachVif.test_vif_detach_node_locked [0.070114s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/634a9a0c-499d-4ab5-b149-11f1cf6a9977 GOT Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4de3ec56-3533-4b87-8d39-1c8ef9ebc7ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.042252s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'a29c1665-766a-48a3-9aca-5e2c9a4178cf', '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-aa99a75d-8634-4ee5-a2ad-cafe2ba83b33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.082358s] ... 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': '514ca63f-487a-403d-ba4d-6216f1d54422', 'owner': None} GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-764e0245-7b7b-4dd8-a7ac-5f997cfa5d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.050035s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/nodes/doesntexist/vifs/abdd3d52-a40a-4cb7-a817-e8850ff2bf19 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3be81eba-f6c8-4696-b4cb-be65dd327a20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.043735s] ... 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': '94891f58-33c8-4f1e-bdc8-9bfbd969e094', '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/94891f58-33c8-4f1e-bdc8-9bfbd969e094 DEBUG util.py:445: Openstack-Request-Id: req-f33cb751-cb9d-4e10-80da-5056e516afee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "94891f58-33c8-4f1e-bdc8-9bfbd969e094", "created_at": "2024-03-18T18:15:46.233027+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/94891f58-33c8-4f1e-bdc8-9bfbd969e094", "rel": "self"}, {"href": "http://localhost/deploy_templates/94891f58-33c8-4f1e-bdc8-9bfbd969e094", "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_allocation.TestPost.test_create_allocation_valid_extra [0.064171s] ... 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': 'fca30e95-6707-4f2e-8684-8a7dc14bc3b3', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/fca30e95-6707-4f2e-8684-8a7dc14bc3b3 DEBUG util.py:445: Openstack-Request-Id: req-b93d13a8-56ea-4693-81aa-e4ffe31519b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fca30e95-6707-4f2e-8684-8a7dc14bc3b3", "created_at": "2024-03-18T18:15:46.248962+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/fca30e95-6707-4f2e-8684-8a7dc14bc3b3", "rel": "self"}, {"href": "http://localhost/allocations/fca30e95-6707-4f2e-8684-8a7dc14bc3b3", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/fca30e95-6707-4f2e-8684-8a7dc14bc3b3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0471a27b-3c50-4474-9462-64e76e7d08ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fca30e95-6707-4f2e-8684-8a7dc14bc3b3", "created_at": "2024-03-18T18:15:46.248962+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/fca30e95-6707-4f2e-8684-8a7dc14bc3b3", "rel": "self"}, {"href": "http://localhost/allocations/fca30e95-6707-4f2e-8684-8a7dc14bc3b3", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.161473s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/951cca5e-aa40-4a56-ae21-dc6b696abfe2 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-8f0cc9bf-7c49-42e0-bf84-8f26434338d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.043081s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'aff222fc-238c-4ea9-86a5-009ca4d42539', '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/aff222fc-238c-4ea9-86a5-009ca4d42539 DEBUG util.py:445: Openstack-Request-Id: req-f5e907c3-2275-449e-a1a0-4fbe201b3765 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "aff222fc-238c-4ea9-86a5-009ca4d42539", "created_at": "2024-03-18T18:15:46.277395+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/aff222fc-238c-4ea9-86a5-009ca4d42539", "rel": "self"}, {"href": "http://localhost/deploy_templates/aff222fc-238c-4ea9-86a5-009ca4d42539", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.065958s] ... 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-9fc43500-ba8c-4c4e-8f14-7d94508b6f9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.037301s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '730ff2fe-7413-4746-9260-336a20fc18d8', '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-982842a9-33d7-4fe0-8cdb-7cbe327f58c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.070043s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/allocations WITH {'candidate_nodes': ['node-1', '9c048fa5-d849-4972-a2a8-5ba3c377ab77'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b828249c-7dc7-430c-9f3e-5d4997ee8c79', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/b828249c-7dc7-430c-9f3e-5d4997ee8c79 DEBUG util.py:445: Openstack-Request-Id: req-0c36076c-7c77-4441-86a3-e0dac72037f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b828249c-7dc7-430c-9f3e-5d4997ee8c79", "created_at": "2024-03-18T18:15:46.315414+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "9c048fa5-d849-4972-a2a8-5ba3c377ab77"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b828249c-7dc7-430c-9f3e-5d4997ee8c79", "rel": "self"}, {"href": "http://localhost/allocations/b828249c-7dc7-430c-9f3e-5d4997ee8c79", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/b828249c-7dc7-430c-9f3e-5d4997ee8c79 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78dff2c5-2bec-4f4a-b1d8-76a420d2ddfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b828249c-7dc7-430c-9f3e-5d4997ee8c79", "created_at": "2024-03-18T18:15:46.315414+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "9c048fa5-d849-4972-a2a8-5ba3c377ab77"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b828249c-7dc7-430c-9f3e-5d4997ee8c79", "rel": "self"}, {"href": "http://localhost/allocations/b828249c-7dc7-430c-9f3e-5d4997ee8c79", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.087843s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/c0bbb35e-2fac-4833-8338-2231b504ee84 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-3acbe049-1602-4a07-8644-4d29529ee62d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.076368s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.063078s] ... 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': 'd5ab8fca-4ac9-4b07-8879-bfc68b61d281', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/d5ab8fca-4ac9-4b07-8879-bfc68b61d281 DEBUG util.py:445: Openstack-Request-Id: req-5e872dc6-0476-4d38-a864-57a98b9cfb47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d5ab8fca-4ac9-4b07-8879-bfc68b61d281", "created_at": "2024-03-18T18:15:46.390205+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/d5ab8fca-4ac9-4b07-8879-bfc68b61d281", "rel": "self"}, {"href": "http://localhost/allocations/d5ab8fca-4ac9-4b07-8879-bfc68b61d281", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.068718s] ... 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-d53f9f00-8929-4123-991c-a6469068c66d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node [0.049144s] ... 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_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.040702s] ... 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-49e1ddcd-bf94-4260-8d22-f1ef071723f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.073260s] ... 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': '5502dcad-01b9-413c-8cc4-8c79cd29c5b3', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/5502dcad-01b9-413c-8cc4-8c79cd29c5b3 DEBUG util.py:445: Openstack-Request-Id: req-0db56b48-f1da-481e-8d2a-350e5af1d997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5502dcad-01b9-413c-8cc4-8c79cd29c5b3", "created_at": "2024-03-18T18:15:46.450062+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/5502dcad-01b9-413c-8cc4-8c79cd29c5b3", "rel": "self"}, {"href": "http://localhost/allocations/5502dcad-01b9-413c-8cc4-8c79cd29c5b3", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/5502dcad-01b9-413c-8cc4-8c79cd29c5b3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f02d9686-5019-49e7-8ae8-a5749faf82e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5502dcad-01b9-413c-8cc4-8c79cd29c5b3", "created_at": "2024-03-18T18:15:46.450062+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/5502dcad-01b9-413c-8cc4-8c79cd29c5b3", "rel": "self"}, {"href": "http://localhost/allocations/5502dcad-01b9-413c-8cc4-8c79cd29c5b3", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.045007s] ... 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-a3850214-3bd1-431b-a9c5-bf79bfab3cf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_allocation.TestPost.test_create_by_node_not_allowed [0.060381s] ... 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': '4a0c569a-950e-40a4-a385-357bb8c29a0b', '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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node_list [0.131163s] ... 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.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.216388s] ... 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-7c95f2ad-aaee-4207-a70d-33c373a55e64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:46.381929+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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.043487s] ... 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': 'e5da9b7b-927d-4006-b0ed-d887aefa3441', '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-0619a0b7-6acd-4b00-9bab-8a45ddabb9b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.055550s] ... 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_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.063375s] ... 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': 'e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343 DEBUG util.py:445: Openstack-Request-Id: req-63ae9c17-82e5-40b7-933e-f7f3345eb143 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343", "created_at": "2024-03-18T18:15:46.620917+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/e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343", "rel": "self"}, {"href": "http://localhost/allocations/e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02523078-43f0-428b-85a9-f7aac99a9987 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343", "created_at": "2024-03-18T18:15:46.620917+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/e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343", "rel": "self"}, {"href": "http://localhost/allocations/e9ab2bc6-90cd-49ad-8f41-a2f5ca0fd343", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.046475s] ... 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.032047s] ... 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_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.226884s] ... 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-23fdcbca-5dce-43e4-8671-89db8f823051 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_allocation.TestPost.test_create_restricted_allocation_forbidden [0.061628s] ... 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': 'eb60c010-b69a-44fb-aa91-e59ec71dbaf8', 'owner': None} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a735b5e4-8028-47f6-a3bc-11f340cba1c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.147847s] ... 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-1ffe26bf-5635-420a-88b4-62c7da8552f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:46.606016+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.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.042881s] ... 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_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.030733s] ... 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-e72364d8-4d29-4f38-8a74-ee48d6fbde91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.035273s] ... 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_driver.TestListDrivers.test_driver_vendor_passthru_get [0.039238s] ... 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-04cadb94-c109-4c14-b970-8b00f2196830 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.027522s] ... 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_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.025422s] ... 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-1456cd97-30a8-4f88-a1cc-84c4e156a485 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.030464s] ... 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_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.035579s] ... 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-c2ebe6ae-7858-4237-b921-839bae67d461 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-ba645d1f-bd30-4f9a-b6d7-2fbe578b40cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.026407s] ... 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_allocation.TestPost.test_create_restricted_allocation_normal [0.146624s] ... 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': 'd4771e7f-555b-43f7-98d8-ad9ff7fdbb82', 'owner': None} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/d4771e7f-555b-43f7-98d8-ad9ff7fdbb82 DEBUG util.py:445: Openstack-Request-Id: req-550f07a1-a097-4489-a3ad-04f23f05ba59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d4771e7f-555b-43f7-98d8-ad9ff7fdbb82", "created_at": "2024-03-18T18:15:46.802367+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/d4771e7f-555b-43f7-98d8-ad9ff7fdbb82", "rel": "self"}, {"href": "http://localhost/allocations/d4771e7f-555b-43f7-98d8-ad9ff7fdbb82", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/d4771e7f-555b-43f7-98d8-ad9ff7fdbb82 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76145941-47e4-4567-aed6-f818ff5db663 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d4771e7f-555b-43f7-98d8-ad9ff7fdbb82", "created_at": "2024-03-18T18:15:46.802367+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/d4771e7f-555b-43f7-98d8-ad9ff7fdbb82", "rel": "self"}, {"href": "http://localhost/allocations/d4771e7f-555b-43f7-98d8-ad9ff7fdbb82", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.034838s] ... 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-ea8bba84-0fa3-417b-bfc8-0a38ea421498 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.026760s] ... 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_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.035786s] ... 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-d351eee4-6cd2-497e-bba8-d43e54f065d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.074015s] ... 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': 'c44eb979-fd6f-4f98-9bea-31aa77aea2be'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/c44eb979-fd6f-4f98-9bea-31aa77aea2be DEBUG util.py:445: Openstack-Request-Id: req-5ac7c4e9-9566-40ef-b5e0-cae42ab87c2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "c44eb979-fd6f-4f98-9bea-31aa77aea2be", "created_at": "2024-03-18T18:15:46.908053+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/c44eb979-fd6f-4f98-9bea-31aa77aea2be", "rel": "self"}, {"href": "http://localhost/allocations/c44eb979-fd6f-4f98-9bea-31aa77aea2be", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/c44eb979-fd6f-4f98-9bea-31aa77aea2be WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff9571c9-b286-44f0-a515-8cb2750e3ff9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "c44eb979-fd6f-4f98-9bea-31aa77aea2be", "created_at": "2024-03-18T18:15:46.908053+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/c44eb979-fd6f-4f98-9bea-31aa77aea2be", "rel": "self"}, {"href": "http://localhost/allocations/c44eb979-fd6f-4f98-9bea-31aa77aea2be", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.052646s] ... 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__check_steps_wrappers [0.021597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.055765s] ... 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-804444e8-2602-4fb5-a89b-d342e116a412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d18c0a0f-95ef-422f-9c5a-ff672984b4b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77fc41f6-62de-4a1b-a269-6f2df0a1c571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a584a7f-755e-438f-a6a8-0b881fc16f06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-cfa5883b-158b-4eaa-99b9-3056ef5b19ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.033471s] ... 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-6f322520-2f2c-4a29-b176-3b15fe4c25dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.040972s] ... 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-dc8df209-697a-4bb1-a454-d3b920715c68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.274319s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/38174cc6-bff5-4c1c-affa-951172a00d24 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-8819cbc0-932f-4e20-aa0f-75019b36d9e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "38174cc6-bff5-4c1c-affa-951172a00d24", "created_at": "2024-03-18T18:15:46.818932+00:00", "updated_at": null, "automated_clean": null, "bios_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/38174cc6-bff5-4c1c-affa-951172a00d24", "rel": "self"}, {"href": "http://localhost/nodes/38174cc6-bff5-4c1c-affa-951172a00d24", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/ports", "rel": "self"}, {"href": "http://localhost/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/states", "rel": "self"}, {"href": "http://localhost/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/volume", "rel": "self"}, {"href": "http://localhost/nodes/38174cc6-bff5-4c1c-affa-951172a00d24/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.038112s] ... 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-a3e6a263-bb95-4e80-84c1-d1ab0de33c9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.113031s] ... 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': 'baef982f-1ebc-4803-b9d3-b182a2691d56', 'owner': '54321'} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d43b691-c49f-4f27-b7f9-5b02ecd40aee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.065838s] ... 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-e5941e24-5aea-409d-81be-50c4f5911aea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "38f96ebf-90fd-4f5d-9c39-20ddeb36d1a8", "instance_uuid": "6b2dab45-44bd-4914-b8af-b5a777dd91b0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/38f96ebf-90fd-4f5d-9c39-20ddeb36d1a8", "rel": "self"}, {"href": "http://localhost/nodes/38f96ebf-90fd-4f5d-9c39-20ddeb36d1a8", "rel": "bookmark"}]}, {"uuid": "0ce2ce5e-4452-4af0-aebb-a0394a94c6f0", "instance_uuid": "e8f3b9b5-42e4-4339-9f18-9b829e76c8e0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0ce2ce5e-4452-4af0-aebb-a0394a94c6f0", "rel": "self"}, {"href": "http://localhost/nodes/0ce2ce5e-4452-4af0-aebb-a0394a94c6f0", "rel": "bookmark"}]}, {"uuid": "cf44ce35-b414-41b8-ad5d-0629da08334a", "instance_uuid": "05e57e86-2c86-4345-a537-a4fe931fae29", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/cf44ce35-b414-41b8-ad5d-0629da08334a", "rel": "self"}, {"href": "http://localhost/nodes/cf44ce35-b414-41b8-ad5d-0629da08334a", "rel": "bookmark"}]}, {"uuid": "d61c5a02-73d8-4376-9802-7305a280c3a5", "instance_uuid": "5050f4fe-c118-485a-a355-9cc4adad479c", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d61c5a02-73d8-4376-9802-7305a280c3a5", "rel": "self"}, {"href": "http://localhost/nodes/d61c5a02-73d8-4376-9802-7305a280c3a5", "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-554fdd6c-a9da-412c-9daa-6707ae881270 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "38f96ebf-90fd-4f5d-9c39-20ddeb36d1a8", "instance_uuid": "6b2dab45-44bd-4914-b8af-b5a777dd91b0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/38f96ebf-90fd-4f5d-9c39-20ddeb36d1a8", "rel": "self"}, {"href": "http://localhost/nodes/38f96ebf-90fd-4f5d-9c39-20ddeb36d1a8", "rel": "bookmark"}]}, {"uuid": "0ce2ce5e-4452-4af0-aebb-a0394a94c6f0", "instance_uuid": "e8f3b9b5-42e4-4339-9f18-9b829e76c8e0", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0ce2ce5e-4452-4af0-aebb-a0394a94c6f0", "rel": "self"}, {"href": "http://localhost/nodes/0ce2ce5e-4452-4af0-aebb-a0394a94c6f0", "rel": "bookmark"}]}, {"uuid": "cf44ce35-b414-41b8-ad5d-0629da08334a", "instance_uuid": "05e57e86-2c86-4345-a537-a4fe931fae29", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/cf44ce35-b414-41b8-ad5d-0629da08334a", "rel": "self"}, {"href": "http://localhost/nodes/cf44ce35-b414-41b8-ad5d-0629da08334a", "rel": "bookmark"}]}, {"uuid": "d61c5a02-73d8-4376-9802-7305a280c3a5", "instance_uuid": "5050f4fe-c118-485a-a355-9cc4adad479c", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d61c5a02-73d8-4376-9802-7305a280c3a5", "rel": "self"}, {"href": "http://localhost/nodes/d61c5a02-73d8-4376-9802-7305a280c3a5", "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.035259s] ... 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-2b41a054-3f25-479f-a59a-40fa2bfa3b18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_collection_links [0.046708s] ... 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-fca0c200-bf95-44bf-b6c7-784ff208876a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "cd0e026a-0aa0-4360-a4df-ab9a33b28db4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/cd0e026a-0aa0-4360-a4df-ab9a33b28db4", "rel": "self"}, {"href": "http://localhost/nodes/cd0e026a-0aa0-4360-a4df-ab9a33b28db4", "rel": "bookmark"}]}, {"uuid": "cf61ef77-0f67-4ad9-aec7-127eca7f2cd6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/cf61ef77-0f67-4ad9-aec7-127eca7f2cd6", "rel": "self"}, {"href": "http://localhost/nodes/cf61ef77-0f67-4ad9-aec7-127eca7f2cd6", "rel": "bookmark"}]}, {"uuid": "8d07a373-472d-4db7-9c92-9bc9c2ce1cf6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/8d07a373-472d-4db7-9c92-9bc9c2ce1cf6", "rel": "self"}, {"href": "http://localhost/nodes/8d07a373-472d-4db7-9c92-9bc9c2ce1cf6", "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=8d07a373-472d-4db7-9c92-9bc9c2ce1cf6"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.038724s] ... 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-65d37b0c-fb98-49a6-a392-9829a2096a8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.030384s] ... 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-9435d33a-3222-4406-a736-dba691199524 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_collection_links_custom_fields [0.057256s] ... 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-496cf830-e50f-417b-b76a-7575083c07a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ffdf6c22-9dd3-4dfd-af3c-cea9569e4056", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/ffdf6c22-9dd3-4dfd-af3c-cea9569e4056", "rel": "self"}, {"href": "http://localhost/nodes/ffdf6c22-9dd3-4dfd-af3c-cea9569e4056", "rel": "bookmark"}]}, {"uuid": "8fcb586c-a3a2-40ee-be07-adfe02c34da1", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/8fcb586c-a3a2-40ee-be07-adfe02c34da1", "rel": "self"}, {"href": "http://localhost/nodes/8fcb586c-a3a2-40ee-be07-adfe02c34da1", "rel": "bookmark"}]}, {"uuid": "472997e5-b1b4-48e1-88bf-acfc47be7efc", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/472997e5-b1b4-48e1-88bf-acfc47be7efc", "rel": "self"}, {"href": "http://localhost/nodes/472997e5-b1b4-48e1-88bf-acfc47be7efc", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=472997e5-b1b4-48e1-88bf-acfc47be7efc"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.029708s] ... 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-4f937620-58ff-4a7c-aae6-2e0fc8d6789a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_get_one_not_found [0.036713s] ... 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-0f20a133-aee8-442b-9e23-60abee3f1693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.171219s] ... 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': '509d41c7-24e9-47ea-9b76-7b9f36df1064', 'owner': '12345'} GOT Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/allocations/509d41c7-24e9-47ea-9b76-7b9f36df1064 DEBUG util.py:445: Openstack-Request-Id: req-41456691-e7c1-4a88-b6bc-77439c255530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "509d41c7-24e9-47ea-9b76-7b9f36df1064", "created_at": "2024-03-18T18:15:47.130447+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/509d41c7-24e9-47ea-9b76-7b9f36df1064", "rel": "self"}, {"href": "http://localhost/allocations/509d41c7-24e9-47ea-9b76-7b9f36df1064", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET /v1/allocations/509d41c7-24e9-47ea-9b76-7b9f36df1064 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d2ced72-e5d3-4ec2-9d94-e526a97dd9bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "509d41c7-24e9-47ea-9b76-7b9f36df1064", "created_at": "2024-03-18T18:15:47.130447+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/509d41c7-24e9-47ea-9b76-7b9f36df1064", "rel": "self"}, {"href": "http://localhost/allocations/509d41c7-24e9-47ea-9b76-7b9f36df1064", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.052455s] ... 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-2a20e0cc-bde3-45d6-8e1d-82b95819b8da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "38b71c22-3daf-44e5-9dea-169b109619e4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/38b71c22-3daf-44e5-9dea-169b109619e4", "rel": "self"}, {"href": "http://localhost/nodes/38b71c22-3daf-44e5-9dea-169b109619e4", "rel": "bookmark"}]}, {"uuid": "373a33f4-bb7d-4ea9-8f0f-c0fc030f3adf", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/373a33f4-bb7d-4ea9-8f0f-c0fc030f3adf", "rel": "self"}, {"href": "http://localhost/nodes/373a33f4-bb7d-4ea9-8f0f-c0fc030f3adf", "rel": "bookmark"}]}, {"uuid": "c02c1fa1-0587-4bbf-b780-8b9f0a0ebe54", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/c02c1fa1-0587-4bbf-b780-8b9f0a0ebe54", "rel": "self"}, {"href": "http://localhost/nodes/c02c1fa1-0587-4bbf-b780-8b9f0a0ebe54", "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=c02c1fa1-0587-4bbf-b780-8b9f0a0ebe54"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.041725s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?instance_uuid=fac27a06-0c62-4863-a14e-11fc2e1ec6a4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69326a55-5036-47a3-a0d7-4581ddcbcabf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f591e392-ff98-4050-a67f-208a8b1c2821", "instance_uuid": "fac27a06-0c62-4863-a14e-11fc2e1ec6a4", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f591e392-ff98-4050-a67f-208a8b1c2821", "rel": "self"}, {"href": "http://localhost/nodes/f591e392-ff98-4050-a67f-208a8b1c2821", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.273703s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb 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-e9fc00ca-5018-4ab6-93a2-e5e0dcc2391b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7fd0f1be-8b6f-46eb-95ad-38b00e903ddb", "created_at": "2024-03-18T18:15:47.143305+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb", "rel": "self"}, {"href": "http://localhost/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/ports", "rel": "self"}, {"href": "http://localhost/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/states", "rel": "self"}, {"href": "http://localhost/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/volume", "rel": "self"}, {"href": "http://localhost/nodes/7fd0f1be-8b6f-46eb-95ad-38b00e903ddb/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.065380s] ... 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-0c3bf9b1-87e4-40a3-aa1e-556f62f480d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_inspect_interface": null, "enabled_inspect_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-4fe4ad83-a241-41f6-a869-8fd4c4ce62b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ae0b8c4-1601-4492-a81d-fd8aeef7ab39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.065873s] ... 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-46e06c99-4fe4-46b9-b257-992e6e8a4133 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:47.304397+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_chassis.TestPost.test_create_chassis [0.119703s] ... 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-97c6c46f-8b99-41e0-96e9-2108b8de2b55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-3bedc1af-9dce-4eb5-a7a8-66ccf9e7ea63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.065288s] ... 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-376ac7cf-a02b-4954-b4c9-a97d1542610b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_bios_interface": null, "enabled_bios_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-27297f51-dbf3-4fb2-b1ca-6fe4baa6a4c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f659fe6-caaf-47c9-9d82-f964af31a182 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.037284s] ... 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-b35e2dc4-b570-461a-9527-85070ee5d8e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_drivers_no_active_conductor [0.033876s] ... 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-13e70e0b-0893-4582-97a7-e92923e8debe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.067787s] ... 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-2acbcb38-d32a-4f29-b86c-9b35cfe3d850 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:47.375946+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-8bd06d68-b91b-4889-89a1-d0fddfa1c436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:47.375946+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.036854s] ... 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-5e807aea-ff3c-4166-b85b-a99112225074 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.042149s] ... 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-8e55f1c0-d030-44c7-bfd3-a9ede30fb8d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_chassis.TestPost.test_create_chassis_error [0.051857s] ... 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-e8eeb6c1-5461-4aa2-8715-1de686d4a863 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.033654s] ... 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-e96f5f0d-2b99-47fc-92b1-a114b2bdbbf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_instance_uuid [0.069567s] ... 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-46ecca20-b13c-42be-ae20-70a7ae329f6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:47.429972+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.TestPatch.test_patch_policy_update_extra_and_instance_info [0.208491s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/47afcb61-65fa-41b7-8574-a5d679be1310 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-f3513bd0-cbd2-42f3-9cb3-32ce6c0a148d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "47afcb61-65fa-41b7-8574-a5d679be1310", "created_at": "2024-03-18T18:15:47.325494+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/47afcb61-65fa-41b7-8574-a5d679be1310", "rel": "self"}, {"href": "http://localhost/nodes/47afcb61-65fa-41b7-8574-a5d679be1310", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/ports", "rel": "self"}, {"href": "http://localhost/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/states", "rel": "self"}, {"href": "http://localhost/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/volume", "rel": "self"}, {"href": "http://localhost/nodes/47afcb61-65fa-41b7-8574-a5d679be1310/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.049061s] ... 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-462542e3-a5be-4d96-897c-805888893d05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.075015s] ... 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/58da5062-e561-4679-acec-8930a0c6a418 DEBUG util.py:445: Openstack-Request-Id: req-4ceedc8c-6f76-425c-ba15-6d377734206d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "58da5062-e561-4679-acec-8930a0c6a418", "created_at": "2024-03-18T18:15:47.506081+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/58da5062-e561-4679-acec-8930a0c6a418", "rel": "self"}, {"href": "http://localhost/chassis/58da5062-e561-4679-acec-8930a0c6a418", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/58da5062-e561-4679-acec-8930a0c6a418/nodes", "rel": "self"}, {"href": "http://localhost/chassis/58da5062-e561-4679-acec-8930a0c6a418/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-de96bd10-5e2e-4225-b904-58c756532a99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "58da5062-e561-4679-acec-8930a0c6a418", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/58da5062-e561-4679-acec-8930a0c6a418", "rel": "self"}, {"href": "http://localhost/chassis/58da5062-e561-4679-acec-8930a0c6a418", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.066099s] ... 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-c7056671-60c9-4af4-ab33-5f5515a6397e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:47.520105+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_drivers_type_filter_dynamic [0.037931s] ... 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-092f65c4-d223-4dea-9c47-234f149e030d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic"}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.039206s] ... 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-773fab10-56b6-4b6e-989b-c2bf36de6bec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.056307s] ... 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-4c01b38e-022d-4f34-9977-685ef54ca684 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic"}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c961632-86c7-48e4-a710-5d477dcff63c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-035638a4-93d0-4257-b770-af0ceb97ba79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d58da85d-fed4-4555-9794-04b17a64e5c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-5cd5e923-e478-4ce0-8f1f-060bca7f9313 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_chassis.TestPost.test_create_chassis_toolong_description [0.052849s] ... 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-af4b9666-4268-4a8f-b9cf-29e1b2b875ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_chassis.TestPost.test_create_chassis_unicode_description [0.063819s] ... 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-dd467234-cdb7-4411-a1ba-dd8cd07381bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:47.676713+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-77b27cfb-ac47-47e9-8d07-9447322c3bcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:47.676713+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_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.074177s] ... 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-712c7bf1-c8af-4f91-ad3c-c441e217f91f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_inspect_interface": null, "enabled_inspect_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_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_inspect_interface": null, "enabled_inspect_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-cd56a989-3e0c-4f79-a901-ab0dea2559c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cb2411a-d43d-4576-bec4-97467065f8c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82f354b2-c287-422f-81fb-568bee4f2042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-c2826d5a-d813-49ff-bc08-c6a2dfe5db DEBUG util.py:445: 33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestPatch.test_patch_policy_update_generic_and_extra [0.221664s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5 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-c8255cc8-cf28-4adb-8165-3e9c90d9f96e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4d17ffa7-c3d0-40a3-b028-4d2ff66868d5", "created_at": "2024-03-18T18:15:47.567059+00:00", "updated_at": null, "automated_clean": null, "bios_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/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5", "rel": "self"}, {"href": "http://localhost/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/ports", "rel": "self"}, {"href": "http://localhost/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/states", "rel": "self"}, {"href": "http://localhost/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/volume", "rel": "self"}, {"href": "http://localhost/nodes/4d17ffa7-c3d0-40a3-b028-4d2ff66868d5/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.063416s] ... 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-9ff61b18-6a20-4287-9c0e-8e69e8ac709e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_bios_interface": null, "enabled_bios_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_boot_interface": null, "enabled_boot_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_bios_interface": null, "enabled_bios_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-af30521c-0dc1-405c-9190-bc0983787257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48aa8f3a-97cf-47da-9cf3-1f9ed8cec69d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type-2 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: 66af4baa-a20f-41b4-bf76-2094415245c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-9d1f2ef8-d5de-48ee-8bea-56d446396b18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_chassis.TestPost.test_create_chassis_valid_extra [0.049441s] ... 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-fdb852a7-35fc-493b-9542-e74afd4b217c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:47.722175+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-0cbba3ba-1c5c-41e4-9351-821895f20ae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:47.722175+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.224661s] ... 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-a1ceb46e-2de1-4009-8f86-d04f473e1996 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.044479s] ... 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-012de3fe-db42-4513-bf44-55457ef6c96c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-693d6540-bc08-4c5a-8c92-9758d98ab286 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.029489s] ... 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-734c5de8-a1d3-4135-8edc-73bc9fb625b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_chassis.TestPost.test_post_nodes_subresource [0.081136s] ... 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-6a8549c9-37f8-466c-abe5-7082972933b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_driver.TestListDrivers.test_get_one_custom_fields [0.046017s] ... 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-9597b851-64d9-40f5-ab13-24bffae8c302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.161764s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6 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-e7e04187-9ee0-4879-91e8-08cfa1b2ac84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6", "created_at": "2024-03-18T18:15:47.760230+00:00", "updated_at": null, "automated_clean": null, "bios_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/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6", "rel": "self"}, {"href": "http://localhost/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/ports", "rel": "self"}, {"href": "http://localhost/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/states", "rel": "self"}, {"href": "http://localhost/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/volume", "rel": "self"}, {"href": "http://localhost/nodes/a22bc3aa-ee3c-4ad4-9ee9-f7cf230c48c6/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.056497s] ... 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-7443204c-801d-486e-a4ea-dfacf1c0a9c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_collection.TestCollection.test_get_next [0.042949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.076037s] ... 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-343335fb-3888-4849-b101-bbd3e66aaf0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e57d689d-0757-4fc6-bf23-476bb549b174", "created_at": "2024-03-18T18:15:47.821970+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/e57d689d-0757-4fc6-bf23-476bb549b174", "rel": "self"}, {"href": "http://localhost/nodes/e57d689d-0757-4fc6-bf23-476bb549b174", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/ports", "rel": "self"}, {"href": "http://localhost/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/states", "rel": "self"}, {"href": "http://localhost/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/volume", "rel": "self"}, {"href": "http://localhost/nodes/e57d689d-0757-4fc6-bf23-476bb549b174/volume", "rel": "bookmark"}]}, {"uuid": "6eb69d2c-4335-48ad-a273-4085a6521516", "created_at": "2024-03-18T18:15:47.824744+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/6eb69d2c-4335-48ad-a273-4085a6521516", "rel": "self"}, {"href": "http://localhost/nodes/6eb69d2c-4335-48ad-a273-4085a6521516", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/ports", "rel": "self"}, {"href": "http://localhost/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/states", "rel": "self"}, {"href": "http://localhost/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/volume", "rel": "self"}, {"href": "http://localhost/nodes/6eb69d2c-4335-48ad-a273-4085a6521516/volume", "rel": "bookmark"}]}, {"uuid": "d695515c-d99f-409d-ba0f-5dd524312476", "created_at": "2024-03-18T18:15:47.827067+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/d695515c-d99f-409d-ba0f-5dd524312476", "rel": "self"}, {"href": "http://localhost/nodes/d695515c-d99f-409d-ba0f-5dd524312476", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d695515c-d99f-409d-ba0f-5dd524312476/ports", "rel": "self"}, {"href": "http://localhost/nodes/d695515c-d99f-409d-ba0f-5dd524312476/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d695515c-d99f-409d-ba0f-5dd524312476/states", "rel": "self"}, {"href": "http://localhost/nodes/d695515c-d99f-409d-ba0f-5dd524312476/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d695515c-d99f-409d-ba0f-5dd524312476/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d695515c-d99f-409d-ba0f-5dd524312476/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d695515c-d99f-409d-ba0f-5dd524312476/volume", "rel": "self"}, {"href": "http://localhost/nodes/d695515c-d99f-409d-ba0f-5dd524312476/volume", "rel": "bookmark"}]}, {"uuid": "c60067fb-0a8a-45c5-a771-04b2d8d1d510", "created_at": "2024-03-18T18:15:47.829081+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/c60067fb-0a8a-45c5-a771-04b2d8d1d510", "rel": "self"}, {"href": "http://localhost/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/ports", "rel": "self"}, {"href": "http://localhost/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/states", "rel": "self"}, {"href": "http://localhost/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/volume", "rel": "self"}, {"href": "http://localhost/nodes/c60067fb-0a8a-45c5-a771-04b2d8d1d510/volume", "rel": "bookmark"}]}, {"uuid": "0cfbdee6-ea13-4609-8822-5ac81610d01c", "created_at": "2024-03-18T18:15:47.831083+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/0cfbdee6-ea13-4609-8822-5ac81610d01c", "rel": "self"}, {"href": "http://localhost/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/ports", "rel": DEBUG util.py:445: "self"}, {"href": "http://localhost/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/states", "rel": "self"}, {"href": "http://localhost/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/volume", "rel": "self"}, {"href": "http://localhost/nodes/0cfbdee6-ea13-4609-8822-5ac81610d01c/volume", "rel": "bookmark"}]}, {"uuid": "c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82", "created_at": "2024-03-18T18:15:47.841188+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/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82", "rel": "self"}, {"href": "http://localhost/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/ports", "rel": "self"}, {"href": "http://localhost/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/states", "rel": "self"}, {"href": "http://localhost/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/volume", "rel": "self"}, {"href": "http://localhost/nodes/c8f58ae8-c5a1-4618-9d7f-f0bc15de2d82/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.031064s] ... 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-8d5b76c1-dc33-4a55-be70-3ff4a633f5bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_collection.TestCollection.test_has_next [0.020812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.023609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.049201s] ... 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-1fe2026f-f1fa-4a83-a41e-ee67efeb4034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-f200a300-1f3c-4bd6-b454-8dc7efe8aa6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_event.TestPostRBAC.test_events [0.048796s] ... 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-9dc7fa76-d5fc-47a8-a95b-07219643a4af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_driver.TestListDrivers.test_links [0.053972s] ... 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-a4ef4efb-878b-48b5-b2e2-6a68f40b5160 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-633eab52-a9aa-469c-9452-4ade448f62e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2145d426-c3dc-4f98-a9ee-28e11b37a29b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.034134s] ... 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-5a5f5351-1666-4a8c-acf9-594ea63f019f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_detail_snmpv3 [0.040068s] ... 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-ab6bd231-9b68-4e62-86a9-f8668d98c9f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:47.975580+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.060115s] ... 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-8a4ddb4a-d0dd-4dba-a180-0f5eed021979 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "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-c17a2105-d709-4b5f-98c0-9b503b002e47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "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-61b62b13-cd9d-45d2-a6a1-905a54a5e5ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-host1", "fake-host2"], "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_event.TestPostRBAC.test_events_invalid_event [0.045766s] ... 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-72f669b6-8e45-403b-8a97-3f75b393def6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.055789s] ... 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-5547ef62-649f-4230-9815-de99e4a5785c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "ea838820-8902-46c7-89ee-8db8f3c197de", "created_at": "2024-03-18T18:15:48.029602+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/ea838820-8902-46c7-89ee-8db8f3c197de", "rel": "self"}, {"href": "http://localhost/nodes/ea838820-8902-46c7-89ee-8db8f3c197de", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ea838820-8902-46c7-89ee-8db8f3c197de/ports", "rel": "self"}, {"href": "http://localhost/nodes/ea838820-8902-46c7-89ee-8db8f3c197de/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ea838820-8902-46c7-89ee-8db8f3c197de/states", "rel": "self"}, {"href": "http://localhost/nodes/ea838820-8902-46c7-89ee-8db8f3c197de/states", "rel": "bookmark"}]}, {"uuid": "6a7e4bb9-18c0-458e-ae7b-724efc89916e", "created_at": "2024-03-18T18:15:48.027824+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/6a7e4bb9-18c0-458e-ae7b-724efc89916e", "rel": "self"}, {"href": "http://localhost/nodes/6a7e4bb9-18c0-458e-ae7b-724efc89916e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6a7e4bb9-18c0-458e-ae7b-724efc89916e/ports", "rel": "self"}, {"href": "http://localhost/nodes/6a7e4bb9-18c0-458e-ae7b-724efc89916e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6a7e4bb9-18c0-458e-ae7b-724efc89916e/states", "rel": "self"}, {"href": "http://localhost/nodes/6a7e4bb9-18c0-458e-ae7b-724efc89916e/states", "rel": "bookmark"}]}, {"uuid": "b2cca480-ca6b-4ce6-9765-b984b3e98ac3", "created_at": "2024-03-18T18:15:48.025827+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/b2cca480-ca6b-4ce6-9765-b984b3e98ac3", "rel": "self"}, {"href": "http://localhost/nodes/b2cca480-ca6b-4ce6-9765-b984b3e98ac3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b2cca480-ca6b-4ce6-9765-b984b3e98ac3/ports", "rel": "self"}, {"href": "http://localhost/nodes/b2cca480-ca6b-4ce6-9765-b984b3e98ac3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b2cca480-ca6b-4ce6-9765-b984b3e98ac3/states", "rel": "self"}, {"href": "http://localhost/nodes/b2cca480-ca6b-4ce6-9765-b984b3e98ac3/states", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.040572s] ... 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-71203e29-f1e4-4424-bf1e-97fbff8c95c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_detail_sort_key_not_allowed [0.029545s] ... 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-2636e19a-6472-4e97-9ec9-a2d27641c643 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.065142s] ... 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-52743d69-7354-419c-a51b-81085a39ad6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-dd2edb0b-3197-4e41-9c8d-c52780fc7936 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-0afbe46d-508e-4425-840d-6caa09c54cf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.214302s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3 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-62428098-90e1-431c-b62e-78b687162c75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "15a30794-2dc8-426f-ae8f-5995c6d28bd3", "created_at": "2024-03-18T18:15:47.931907+00:00", "updated_at": null, "automated_clean": null, "bios_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/15a30794-2dc8-426f-ae8f-5995c6d28bd3", "rel": "self"}, {"href": "http://localhost/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/ports", "rel": "self"}, {"href": "http://localhost/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/states", "rel": "self"}, {"href": "http://localhost/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/volume", "rel": "self"}, {"href": "http://localhost/nodes/15a30794-2dc8-426f-ae8f-5995c6d28bd3/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.083051s] ... 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-490dae74-97d5-4521-9155-5dc42e6402e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_detail_using_query [0.045111s] ... 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-08b9285e-ccc4-4b74-b36f-2158f4642389 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:48.105403+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_detail_using_query_and_fields [0.031975s] ... 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-e690f312-042b-4782-9d09-129268bf3164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.044616s] ... 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-e52a3951-5107-41c9-8f62-ed5edad8b6fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.038617s] ... 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-620ace4f-de0c-4d52-b92f-2e68473a07f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.039593s] ... 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-fbb45c46-5b4a-4421-bb07-3a459309b796 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.099660s] ... 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-cc7fb2a1-257a-4f27-b85c-1bba41b63bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestEventValidator.test_event_missing_madatory_field [0.027284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.035212s] ... 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-6edfb496-e985-44c3-aff8-3ad178dd32ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_event.TestEventValidator.test_invalid_event_type [0.032834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.179000s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323 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-d6026771-bed8-48a5-887e-a775a7b7baee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5c11acc5-63ae-4078-a526-afcffdc5b323", "created_at": "2024-03-18T18:15:48.143235+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/5c11acc5-63ae-4078-a526-afcffdc5b323", "rel": "self"}, {"href": "http://localhost/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/ports", "rel": "self"}, {"href": "http://localhost/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/states", "rel": "self"}, {"href": "http://localhost/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/volume", "rel": "self"}, {"href": "http://localhost/nodes/5c11acc5-63ae-4078-a526-afcffdc5b323/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.024889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.055837s] ... 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-8c9dfdca-f437-42cd-8a14-dfbebf31b2a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "51c5ea7a-8e8c-4618-b0b1-de68cbce5ba8", "created_at": "2024-03-18T18:15:48.263422+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": "2cbfdb4e-0ddf-4427-aed5-c58bc154bc71", "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/51c5ea7a-8e8c-4618-b0b1-de68cbce5ba8", "rel": "self"}, {"href": "http://localhost/nodes/51c5ea7a-8e8c-4618-b0b1-de68cbce5ba8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/51c5ea7a-8e8c-4618-b0b1-de68cbce5ba8/ports", "rel": "self"}, {"href": "http://localhost/nodes/51c5ea7a-8e8c-4618-b0b1-de68cbce5ba8/ports", "rel": "bookmark"}]}, {"uuid": "e7ea41a0-71ec-4be6-8da8-6ddcacc1d89f", "created_at": "2024-03-18T18:15:48.265195+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": "e971388e-3b74-466a-91a2-ddf96d26d6e5", "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/e7ea41a0-71ec-4be6-8da8-6ddcacc1d89f", "rel": "self"}, {"href": "http://localhost/nodes/e7ea41a0-71ec-4be6-8da8-6ddcacc1d89f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7ea41a0-71ec-4be6-8da8-6ddcacc1d89f/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7ea41a0-71ec-4be6-8da8-6ddcacc1d89f/ports", "rel": "bookmark"}]}, {"uuid": "21359067-0672-4bc4-bcda-65adf1f1703b", "created_at": "2024-03-18T18:15:48.268131+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": "10136cd6-08d6-489c-ac7f-89c91f0ac83b", "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/21359067-0672-4bc4-bcda-65adf1f1703b", "rel": "self"}, {"href": "http://localhost/nodes/21359067-0672-4bc4-bcda-65adf1f1703b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/21359067-0672-4bc4-bcda-65adf1f1703b/ports", "rel": "self"}, {"href": "http://localhost/nodes/21359067-0672-4bc4-bcda-65adf1f1703b/ports", "rel": "bookmark"}]}, {"uuid": "0b233924-7fc9-4571-980c-6a7322b4001e", "created_at": "2024-03-18T18:15:48.269891+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": "0c0b7513-28b2-47ef-b564-d8a7ff23eb47", "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/0b233924-7fc9-4571-980c-6a7322b4001e", "rel": "self"}, {"href": "http://localhost/nodes/0b233924-7fc9-4571-980c-6a7322b4001e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0b233924-7fc9-4571-980c-6a7322b4001e/ports", "rel": "self"}, {"href": "http://localhost/nodes/0b233924-7fc9-4571-980c-6a7322b4001e/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.061949s] ... 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-5cc75dee-18fa-4da0-9ab8-a453d11316b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.025828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.045189s] ... 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-2d0cbd45-0084-4e0c-8ea0-3c57dbdd88ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_detail_with_instance_uuid [0.040480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/detail?instance_uuid=d1872a11-2bbf-4211-9a16-5e5ff461a44d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8b89e63-47a3-4d74-91be-e9b379913a44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "77f8fc0f-f6b7-43c1-8823-10256baf7496", "created_at": "2024-03-18T18:15:48.313261+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": "d1872a11-2bbf-4211-9a16-5e5ff461a44d", "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/77f8fc0f-f6b7-43c1-8823-10256baf7496", "rel": "self"}, {"href": "http://localhost/nodes/77f8fc0f-f6b7-43c1-8823-10256baf7496", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/77f8fc0f-f6b7-43c1-8823-10256baf7496/ports", "rel": "self"}, {"href": "http://localhost/nodes/77f8fc0f-f6b7-43c1-8823-10256baf7496/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.033371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.040542s] ... 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-faaa8a85-cf7f-4ca6-9e6c-dab438b482bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.042630s] ... 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-011411d8-0f17-40dd-ade3-0e887cb25a0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_get_all_firmware_components [0.045729s] ... 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-18c72d64-18a4-4b32-bb0f-7e638ab23583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:48.365654+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-18T18:15:48.364601+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.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.040130s] ... 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-b1c88d77-3ee4-41d3-9988-0142caceeaa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_all_interface_fields [0.049186s] ... 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-ba53fb67-74d6-4035-b296-896911ebd689 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_wrong_version_get_all_firmware_components_old_version [0.051995s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.039399s] ... 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-83a04748-21b5-4c6a-8146-83d0e32e6d7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_all_interface_fields_invalid_api_version [0.043465s] ... 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-f4f96590-268e-45b7-b4bd-bf5b9fe72aae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.035199s] ... 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-a9ce818f-ae7c-463d-a7d1-66ff2ec06824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.059536s] ... 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-78036319-7362-43b3-a49a-fa8c5992aa3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_automated_clean_fields [0.038000s] ... 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-4caa0e7a-da98-4935-a935-90b50d31eba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.034449s] ... 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-84f1f557-3f82-4133-ba2b-17a6e7aaba42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_boot_device [0.044337s] ... 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-ffc54a30-03ae-4e77-9fcf-99527cced71a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.033732s] ... 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-914cfe96-90b2-4948-adbe-305c9814fedb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.061878s] ... 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-ec5ec904-d77a-4376-85a9-31be3c6fddf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "2f2ed5b7-2a60-4c8a-ba1a-e729cf57eb73", "created_at": "2024-03-18T18:15:48.543212+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/2f2ed5b7-2a60-4c8a-ba1a-e729cf57eb73", "rel": "self"}]}, {"uuid": "2c2b17a6-ba40-457f-b88f-dbf31f13facc", "created_at": "2024-03-18T18:15:48.544240+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/2c2b17a6-ba40-457f-b88f-dbf31f13facc", "rel": "self"}]}, {"uuid": "9df6931b-51c4-45dc-a85f-6cd074dfb830", "created_at": "2024-03-18T18:15:48.545043+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/9df6931b-51c4-45dc-a85f-6cd074dfb830", "rel": "self"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.037990s] ... 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-23811eaa-a5fd-449d-a82a-c0c3f7d0f373 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.036506s] ... 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-8f3a6c1e-3539-4f0e-b997-7647ea51616e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestNodeHistory.test_get_all_history_returns_entries [0.048803s] ... 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-f016174b-2cc6-42d3-b8a3-dbbb25e2d89e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "35c8d66a-072e-44ac-9639-11feba1172bf", "created_at": "2024-03-18T18:15:48.598624+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/35c8d66a-072e-44ac-9639-11feba1172bf", "rel": "self"}]}, {"uuid": "6d9a8ddf-6c61-4de8-97db-c55828227652", "created_at": "2024-03-18T18:15:48.599482+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6d9a8ddf-6c61-4de8-97db-c55828227652", "rel": "self"}]}, {"uuid": "da4035af-2648-47f1-b3ab-5b99c848a4fc", "created_at": "2024-03-18T18:15:48.600306+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/da4035af-2648-47f1-b3ab-5b99c848a4fc", "rel": "self"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.037766s] ... 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-5627fd39-929b-483c-94b0-f241103497a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPostRBAC.test_network_unknown_event_property [0.033867s] ... 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-604c69a3-1d11-423f-9be0-f368d37871f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_patch_policy_update_none [0.379974s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/04b0e505-742b-4021-a125-40121495b6b8 WITH [] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-797d4afa-d300-4fa2-989e-3d2bc8f1cc40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "04b0e505-742b-4021-a125-40121495b6b8", "created_at": "2024-03-18T18:15:48.408741+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/04b0e505-742b-4021-a125-40121495b6b8", "rel": "self"}, {"href": "http://localhost/nodes/04b0e505-742b-4021-a125-40121495b6b8", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/04b0e505-742b-4021-a125-40121495b6b8/ports", "rel": "self"}, {"href": "http://localhost/nodes/04b0e505-742b-4021-a125-40121495b6b8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/04b0e505-742b-4021-a125-40121495b6b8/states", "rel": "self"}, {"href": "http://localhost/nodes/04b0e505-742b-4021-a125-40121495b6b8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/04b0e505-742b-4021-a125-40121495b6b8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/04b0e505-742b-4021-a125-40121495b6b8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/04b0e505-742b-4021-a125-40121495b6b8/volume", "rel": "self"}, {"href": "http://localhost/nodes/04b0e505-742b-4021-a125-40121495b6b8/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.041093s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.055065s] ... 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-5898a22f-5a05-4d60-8652-21eb295b594d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:48.660612+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_node.TestListNodes.test_get_collection_custom_fields [0.058220s] ... 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-0975a49a-dcf7-4764-885c-5894e289d257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "92e8f876-af83-40dd-b9ba-c348b4f6277b", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/92e8f876-af83-40dd-b9ba-c348b4f6277b", "rel": "self"}, {"href": "http://localhost/nodes/92e8f876-af83-40dd-b9ba-c348b4f6277b", "rel": "bookmark"}]}, {"uuid": "5c482c78-7186-43c0-b653-e171e3ee9ed8", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/5c482c78-7186-43c0-b653-e171e3ee9ed8", "rel": "self"}, {"href": "http://localhost/nodes/5c482c78-7186-43c0-b653-e171e3ee9ed8", "rel": "bookmark"}]}, {"uuid": "0608e3c8-203b-4e06-86a5-897765d027f1", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/0608e3c8-203b-4e06-86a5-897765d027f1", "rel": "self"}, {"href": "http://localhost/nodes/0608e3c8-203b-4e06-86a5-897765d027f1", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.067549s] ... 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-f9fceb19-5d66-4f01-acb9-d9e9920793a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "5d546edb-3338-42dd-a57d-db23fae47eb7", "created_at": "2024-03-18T18:15:48.685992+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/5d546edb-3338-42dd-a57d-db23fae47eb7", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&fields=uuid,created_at,severity,event&limit=1&marker=5d546edb-3338-42dd-a57d-db23fae47eb7"} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=5d546edb-3338-42dd-a57d-db23fae47eb7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7e7f498-a618-4150-b06a-7532c4fcae49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "7370af1a-6730-4c14-a6ca-aaf6404fc747", "created_at": "2024-03-18T18:15:48.686862+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7370af1a-6730-4c14-a6ca-aaf6404fc747", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2024-03-18T18:15:48Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=5d546edb-3338-42dd-a57d-db23fae47eb7)&fields=uuid,created_at,severity,event&limit=1&marker=7370af1a-6730-4c14-a6ca-aaf6404fc747"} DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=7370af1a-6730-4c14-a6ca-aaf6404fc747 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ec1d976-b106-4a39-b7f7-1276d159ab5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "ade97c80-a24e-42e8-ba8e-1458614a8e2f", "created_at": "2024-03-18T18:15:48.687659+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ade97c80-a24e-42e8-ba8e-1458614a8e2f", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2024-03-18T18:15:48Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=7370af1a-6730-4c14-a6ca-aaf6404fc747)&fields=uuid,created_at,severity,event&limit=1&marker=ade97c80-a24e-42e8-ba8e-1458614a8e2f"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.040512s] ... 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-16e26ac2-10a1-43be-bac5-a7f1aa0fccb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:48.709625+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_node.TestListNodes.test_get_collection_custom_fields_as_list [0.047594s] ... 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-6dd38224-23f4-4e24-9ae7-feaef31e1cab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "8117ce15-9374-41e6-9ad2-dad1d6f193f4", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/8117ce15-9374-41e6-9ad2-dad1d6f193f4", "rel": "self"}, {"href": "http://localhost/nodes/8117ce15-9374-41e6-9ad2-dad1d6f193f4", "rel": "bookmark"}]}, {"uuid": "f55d221f-7284-4009-909e-b809f6539a06", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/f55d221f-7284-4009-909e-b809f6539a06", "rel": "self"}, {"href": "http://localhost/nodes/f55d221f-7284-4009-909e-b809f6539a06", "rel": "bookmark"}]}, {"uuid": "05dd2828-e1c7-4038-8a4c-c2e157a0c927", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/05dd2828-e1c7-4038-8a4c-c2e157a0c927", "rel": "self"}, {"href": "http://localhost/nodes/05dd2828-e1c7-4038-8a4c-c2e157a0c927", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.041716s] ... 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-e7590bae-21fd-449e-84b4-16fda7b99d07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.057976s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d7316433-aad4-43a9-bb69-100833361ac0 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ba90d5c-ca91-43d2-86f7-824ccbb25f38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d7316433-aad4-43a9-bb69-100833361ac0", "created_at": "2024-03-18T18:15:48.760867+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/d7316433-aad4-43a9-bb69-100833361ac0", "rel": "self"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.059934s] ... 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-02fea570-83a6-4f9e-b163-c7e0e054535d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "894b6635-a9d2-4854-9cc1-1ca6197f7b15", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "db6d3536-1a02-411c-a313-6aa5dcbeab13", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/894b6635-a9d2-4854-9cc1-1ca6197f7b15", "rel": "self"}, {"href": "http://localhost/nodes/894b6635-a9d2-4854-9cc1-1ca6197f7b15", "rel": "bookmark"}]}, {"uuid": "ae1107ac-4ec7-4950-985f-d1352c137b37", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "43ef6f5f-77b7-41c7-a8fa-997d4d752108", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/ae1107ac-4ec7-4950-985f-d1352c137b37", "rel": "self"}, {"href": "http://localhost/nodes/ae1107ac-4ec7-4950-985f-d1352c137b37", "rel": "bookmark"}]}, {"uuid": "8498916f-c227-4c91-b538-f51a0a8779c9", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "2f65cbe7-bee1-43e9-acfe-8f72be4c694d", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/8498916f-c227-4c91-b538-f51a0a8779c9", "rel": "self"}, {"href": "http://localhost/nodes/8498916f-c227-4c91-b538-f51a0a8779c9", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.039290s] ... 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_node.TestNodeHistory.test_get_history_item_not_found [0.050999s] ... 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-8ba01a26-ca49-4d9b-9d87-37d32583b5d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_collection_pagination_no_uuid [0.057059s] ... 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-132acb2a-b43f-4a3a-a77b-09c9472fde72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/fbbdd543-7a91-4001-8633-e6effa518678", "rel": "self"}, {"href": "http://localhost/nodes/fbbdd543-7a91-4001-8633-e6effa518678", "rel": "bookmark"}]}, {"name": null, "links": [{"href": "http://localhost/v1/nodes/feadcf73-b233-4bf8-b0b3-87a9c94c507f", "rel": "self"}, {"href": "http://localhost/nodes/feadcf73-b233-4bf8-b0b3-87a9c94c507f", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=feadcf73-b233-4bf8-b0b3-87a9c94c507f"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.076144s] ... 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-2dd12d99-5270-45e0-8401-033e5751d279 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:48.865280+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.041085s] ... 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-db6e8311-45aa-42fc-8edc-2e6093591816 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.283009s] ... 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-aeb72d27-2531-4492-918b-d0bac4f52bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_conductor_field_invalid_api_version [0.035934s] ... 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-f4a6c568-05e2-426b-8ed2-99aeeaeb050d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestBIOS.test_get_bios_detail_and_fields [0.063961s] ... 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-ccc01a01-400e-457a-a18d-ddac8d89ad42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.040599s] ... 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-8e103e04-d635-421b-b2f4-d2643b3df535 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.044849s] ... 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-9ef7a5c8-f375-4864-b1c8-bdd8fc52cc25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestBIOS.test_get_bios_fields [0.085877s] ... 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-c4606d59-43df-4bf7-b40d-a2d85b6deff6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:48.987508+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.044738s] ... 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-a30928bf-8192-4cdd-a4e6-387ab4c56d83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.237829s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.048335s] ... 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-de02b822-a3f7-4c71-8493-f63cfc6bb42d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.157851s] ... 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-13829648-4c37-48dd-bbf6-fc3b1822eb22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_console_information_by_name [0.040401s] ... 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-57488a1f-df8c-4919-9587-9daa55bbf55b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestBIOS.test_get_one_bios [0.047521s] ... 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-629d5012-ada1-424d-ab34-1598afdc3087 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:49.115375+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.051924s] ... 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-c25fbf79-1c5f-4208-9cf1-0c43c4bc0a94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent [0.099046s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/3f3b933f-724d-4001-b152-188ed1cea0f9 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-a32cc947-212e-47ba-be9e-65fcaca5346f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:49.096717+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.049100s] ... 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-4793d04e-2cd7-4c11-88b9-25e073d17385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.049292s] ... 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-d0a83256-7a08-46a9-a82e-427dc1cbe3ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent_node_fail_wrong_version [0.044135s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/ea1a959a-10b9-4a96-83d8-283234147636 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-c8e7ccef-fc15-4405-9831-cceff9b15c82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.038478s] ... 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.155751s] ... 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-20a5d3c1-d41d-4d1b-bec3-6475d5783d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_custom_fields_invalid_api_version [0.049086s] ... 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-2faba074-68cd-4c6e-9244-0b18b78aff11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestBIOS.test_get_one_bios_no_registry [0.053140s] ... 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-3fe00636-a49d-4c95-b32c-d4fb9f7e9366 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:49.253988+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_node.TestListNodes.test_get_custom_fields_invalid_fields [0.039140s] ... 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-8f4c8f5f-349d-402c-a975-54d201bb8e83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.040983s] ... 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-8c03deb1-84d5-4dde-b917-0323c75e2c35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeParentNodePatch.test_node_add_parent_node_not_uuid [0.131966s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/4e82a1e8-abd4-4850-b27a-8a439c1e4fa9 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-bc03d79e-60de-49e9-8875-8bdad872b363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.046399s] ... 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-2f32a568-a85a-472c-bfe1-4c507cfae6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_description_field [0.070614s] ... 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-0a21a541-1283-46b2-aac5-44a1642cb210 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.041300s] ... 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-3fb88876-ef5c-4029-a29c-52c8fb69d2f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_remove_parent [0.090155s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/a31938ec-8780-41bf-937c-cfe7bf7bb8de 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-4ea34ad5-3a97-4fad-8b46-769e092fdb8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:49.374092+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.TestPatch.test_patch_update_drive_console_enabled [0.156680s] ... 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-ce1b1967-79e5-44a4-9db1-8c08c06eeaf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_indicator_state_iface_not_supported [0.038228s] ... 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-b2a24a8a-ce25-41ab-8c86-5421b8d3f58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_patch_update_name_twice_both_invalid [0.073184s] ... 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-b760cb81-2e5b-4b5f-b923-11efab609869 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.043268s] ... 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-729965b2-ab7f-4992-9c18-a99622a244b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_named_parent_node_succeeds [0.084190s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '34f55b9d-dfde-4534-9adb-a1824591bdd3', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/34f55b9d-dfde-4534-9adb-a1824591bdd3 DEBUG util.py:445: Openstack-Request-Id: req-9f8036eb-8e7e-4173-a635-fd9eb962bd5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "34f55b9d-dfde-4534-9adb-a1824591bdd3", "created_at": "2024-03-18T18:15:49.511087+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/34f55b9d-dfde-4534-9adb-a1824591bdd3", "rel": "self"}, {"href": "http://localhost/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/ports", "rel": "self"}, {"href": "http://localhost/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/states", "rel": "self"}, {"href": "http://localhost/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/volume", "rel": "self"}, {"href": "http://localhost/nodes/34f55b9d-dfde-4534-9adb-a1824591bdd3/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.044497s] ... 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-5f8fd1bc-dbf5-476b-bafa-76e7b3989c89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.040072s] ... 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-1e5eadcc-69df-43aa-a9ce-b96cc47adedc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.104572s] ... 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-acab7f7b-7da5-4092-9017-fef1abbeec7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.246430s] ... 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-12d1b93e-ffe2-434a-b37f-befcec38e0ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_network_interface_fields_invalid_api_version [0.034663s] ... 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-05e86951-6724-4a74-9423-257662da5f32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestNodeParentNodePost.test_create_node_with_parent_node [0.093479s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '1f7f38e0-5408-4b62-a158-d62d0c516d60', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/1f7f38e0-5408-4b62-a158-d62d0c516d60 DEBUG util.py:445: Openstack-Request-Id: req-bedf98c7-609c-4ca0-8804-890a4c3d9d3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "1f7f38e0-5408-4b62-a158-d62d0c516d60", "created_at": "2024-03-18T18:15:49.594188+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/1f7f38e0-5408-4b62-a158-d62d0c516d60", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/states", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-929bed6a-d3e2-454a-8b96-08e48f08dfd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "1f7f38e0-5408-4b62-a158-d62d0c516d60", "created_at": "2024-03-18T18:15:49.594188+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/1f7f38e0-5408-4b62-a158-d62d0c516d60", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/states", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f7f38e0-5408-4b62-a158-d62d0c516d60/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.037314s] ... 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-3bef29ff-160e-43fc-a0a9-cd761f87eb47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.052692s] ... 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-4172fd3b-94f7-4990-a0c4-a73e65c54d3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-c37a0520-727a-4645-ab25-3cb80d4eef97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "0503b1f1-febb-4338-afbb-d6f03ae144f2", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/0503b1f1-febb-4338-afbb-d6f03ae144f2", "rel": "self"}, {"href": "http://localhost/nodes/0503b1f1-febb-4338-afbb-d6f03ae144f2", "rel": "bookmark"}]}, {"uuid": "1f1fcaa2-1487-405e-9bf2-9aeae462a632", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1f1fcaa2-1487-405e-9bf2-9aeae462a632", "rel": "self"}, {"href": "http://localhost/nodes/1f1fcaa2-1487-405e-9bf2-9aeae462a632", "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-8a5301d5-2f87-45ec-86b1-c319953aa9ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "1f1fcaa2-1487-405e-9bf2-9aeae462a632", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1f1fcaa2-1487-405e-9bf2-9aeae462a632", "rel": "self"}, {"href": "http://localhost/nodes/1f1fcaa2-1487-405e-9bf2-9aeae462a632", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.036966s] ... 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-fd8c7b52-d6dd-4d84-826b-6975435b7acb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestNodeParentNodePost.test_create_node_with_parent_node_fail_wrong_version [0.068993s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'e959fa09-4df1-445f-8092-c5c9ada67a4d', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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-55330e8c-9909-4a9a-93b4-f443ee950e17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.045632s] ... 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-2f7501f2-5cd1-46f7-8e10-f3f68de78a9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.068580s] ... 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-2920be02-9838-49b0-be17-e968ee7ed29e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "96660238-b33c-4ea6-9bf5-977dc991b577", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/96660238-b33c-4ea6-9bf5-977dc991b577", "rel": "self"}, {"href": "http://localhost/nodes/96660238-b33c-4ea6-9bf5-977dc991b577", "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-551a3f97-6638-4d82-b2d8-9ec07e1888ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e21f3c69-dfc4-4af0-b312-15aa76b62dcb", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb", "rel": "self"}, {"href": "http://localhost/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb", "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-f2f03847-7cfc-485c-a4ad-4d6e5cd52915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "96660238-b33c-4ea6-9bf5-977dc991b577", "created_at": "2024-03-18T18:15:49.689116+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/96660238-b33c-4ea6-9bf5-977dc991b577", "rel": "self"}, {"href": "http://localhost/nodes/96660238-b33c-4ea6-9bf5-977dc991b577", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/ports", "rel": "self"}, {"href": "http://localhost/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/states", "rel": "self"}, {"href": "http://localhost/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/volume", "rel": "self"}, {"href": "http://localhost/nodes/96660238-b33c-4ea6-9bf5-977dc991b577/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-1619903a-c65d-4f09-9 DEBUG util.py:445: 4af-9b8829a1db8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e21f3c69-dfc4-4af0-b312-15aa76b62dcb", "created_at": "2024-03-18T18:15:49.691027+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/e21f3c69-dfc4-4af0-b312-15aa76b62dcb", "rel": "self"}, {"href": "http://localhost/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/ports", "rel": "self"}, {"href": "http://localhost/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/states", "rel": "self"}, {"href": "http://localhost/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/volume", "rel": "self"}, {"href": "http://localhost/nodes/e21f3c69-dfc4-4af0-b312-15aa76b62dcb/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.173759s] ... 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-f4329f7b-3757-46db-9a6a-9b10a3746410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeShardPatch.test_node_add_shard [0.077044s] ... 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-581e4d30-6ecc-4322-b2a7-bd8ea5961550 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:49.711560+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_nodes_by_conductor_group_not_allowed [0.039020s] ... 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-1517d1aa-c1b5-4a69-8d38-3ad8c4ffacf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-768b4b35-20a0-4a63-bef4-9f0cd3759448 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.057388s] ... 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-f3f59a82-5e53-4afb-9f4e-0555b493a926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestNodeShardPatch.test_node_add_shard_fail_wrong_version [0.040055s] ... 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-92e657a2-8526-4a6a-af17-34034fe8b2f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.065476s] ... 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-1b2c35d2-6481-4f40-b9a7-9ea65a0486c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_nodes_by_conductor_no_valid_host [0.048603s] ... 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-af30fe97-c394-4c41-9809-1e7d2f503d0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-1e86e16c-138b-4780-859c-44b45257f7dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-251cdec4-6fc6-40c1-8759-fcba55fc2f20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_not_found [0.035391s] ... 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-6277c122-7fef-4e7e-ad20-b763ca8161c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeVmedia.test_attach [0.038744s] ... 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-4cbaf76f-0572-4426-913d-3f6ee87d0e1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.032048s] ... 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-3ff3f415-42e9-4506-8aa9-2a068ec2540b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_not_found_by_name [0.040128s] ... 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-abbb94d9-bac9-4795-b5ef-476be7234164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestNodeVmedia.test_attach_invalid_device_type [0.038180s] ... 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-27a38257-79fb-4100-962c-d95a00bf7471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.036051s] ... 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-c5f060d3-de60-4de8-8528-94124e06a11e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.051339s] ... 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-d3c1131d-f050-4ad2-8ce2-77e00b10ea00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "3476d2a3-3d17-42aa-8b31-2995c981e3f0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/3476d2a3-3d17-42aa-8b31-2995c981e3f0", "rel": "self"}, {"href": "http://localhost/nodes/3476d2a3-3d17-42aa-8b31-2995c981e3f0", "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-8efed457-5af3-4b1c-acf0-0638ffdd465f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "6dc1d3af-d777-4fc9-9ade-0cf4be470df0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/6dc1d3af-d777-4fc9-9ade-0cf4be470df0", "rel": "self"}, {"href": "http://localhost/nodes/6dc1d3af-d777-4fc9-9ade-0cf4be470df0", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_invalid_image_url [0.032616s] ... 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-37836f61-50d7-4ce8-b142-fd731b4c6da7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestNodeVmedia.test_attach_missing_device_type [0.039121s] ... 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-95e3a2e0-a242-408a-8d52-550c76067fd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.144851s] ... 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-e43a52ab-d2e0-47be-9167-e6905d382b12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeVmedia.test_attach_missing_image_url [0.035360s] ... 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-521a3970-6e89-4948-a47c-4574a644b457 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestDelete.test_delete_portgroup_subresource [0.092882s] ... 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-555abca3-7bd2-4550-b1cf-297ef7b604b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestNodeVmedia.test_attach_required_only [0.042936s] ... 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-1ce8be33-960e-49d8-b1d8-2cbdbb531807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestNodeVmedia.test_attach_wrong_version [0.027279s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.076096s] ... 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-2b5b1368-bc47-4c75-8ae1-37e1c7fd5a34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeVmedia.test_detach_everything [0.040837s] ... 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-2d626b0d-e3a9-4c99-9656-0dffd045fcb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_get_nodes_by_driver [0.234986s] ... 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-f7ccbcdc-a6f5-4708-bef8-f2ce889b95e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8442bcc5-1590-4c02-aeea-4de8469f984c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/8442bcc5-1590-4c02-aeea-4de8469f984c", "rel": "self"}, {"href": "http://localhost/nodes/8442bcc5-1590-4c02-aeea-4de8469f984c", "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-227ce884-eba2-49a9-b00e-fb4f02f74a52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "12b585b1-b51e-4a33-b9f7-4e01ebf45244", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/12b585b1-b51e-4a33-b9f7-4e01ebf45244", "rel": "self"}, {"href": "http://localhost/nodes/12b585b1-b51e-4a33-b9f7-4e01ebf45244", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_several_via_argument [0.041165s] ... 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-5d52d7d9-1268-49ec-90e7-af3c810d507b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestDelete.test_delete_ports_subresource_no_port_id [0.072053s] ... 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-550f3949-9c2d-4099-a491-5bb74cb8dd68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_driver_invalid_api_version [0.032511s] ... 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-81cc6c49-c750-4140-8c5b-70ebf5bc739c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_specific_via_argument [0.035558s] ... 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-afbc15c3-28ae-42d4-869d-dad066f3f9b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestDelete.test_delete_volume_connectors_subresource [0.047281s] ... 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-f844a3d1-c655-4bee-abc5-251ab07b1e7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeVmedia.test_detach_specific_via_url [0.033527s] ... 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-c161b6d2-247b-44f4-aa57-fb7e943e93ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.033282s] ... 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-f4e692d2-f4ba-4087-90a9-e3d51c917232 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_nodes_by_fault [0.066248s] ... 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-1cfd7143-73de-4559-bf85-797abddbe49f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8859ad46-4053-47de-85f5-12d7dce63091", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/8859ad46-4053-47de-85f5-12d7dce63091", "rel": "self"}, {"href": "http://localhost/nodes/8859ad46-4053-47de-85f5-12d7dce63091", "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-3b1fd338-99e7-41d1-a9fe-fe326a71f0a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0", "rel": "self"}, {"href": "http://localhost/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0", "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-acb0a165-e7fa-4759-af14-ef9fb2bce98b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8859ad46-4053-47de-85f5-12d7dce63091", "created_at": "2024-03-18T18:15:50.200614+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/8859ad46-4053-47de-85f5-12d7dce63091", "rel": "self"}, {"href": "http://localhost/nodes/8859ad46-4053-47de-85f5-12d7dce63091", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8859ad46-4053-47de-85f5-12d7dce63091/ports", "rel": "self"}, {"href": "http://localhost/nodes/8859ad46-4053-47de-85f5-12d7dce63091/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8859ad46-4053-47de-85f5-12d7dce63091/states", "rel": "self"}, {"href": "http://localhost/nodes/8859ad46-4053-47de-85f5-12d7dce63091/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8859ad46-4053-47de-85f5-12d7dce63091/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8859ad46-4053-47de-85f5-12d7dce63091/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8859ad46-4053-47de-85f5-12d7dce63091/volume", "rel": "self"}, {"href": "http://localhost/nodes/8859ad46-4053-47de-85f5-12d7dce63091/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-2b718677-2242-4d9d-9961-82d7a1ba612a 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": "0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0", "created_at": "2024-03-18T18:15:50.202620+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/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0", "rel": "self"}, {"href": "http://localhost/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/ports", "rel": "self"}, {"href": "http://localhost/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/states", "rel": "self"}, {"href": "http://localhost/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/volume", "rel": "self"}, {"href": "http://localhost/nodes/0e8286e4-2fd8-413b-9caa-a3a37b3d4ab0/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_device_types [0.030974s] ... 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-7f22bf59-8d44-4a60-9160-2463642c6b51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_version [0.033940s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.047263s] ... 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-5f2e8bb4-acaf-402c-ba24-b89848cb4836 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-728bc662-87f6-467c-ad96-bb29cbe43947 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.062329s] ... 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-b9ae9453-63a6-4b01-9d48-f2bb663c3774 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_notification_utils.APINotifyTestCase.test_chassis_notification [0.031691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.041480s] ... 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-394b013d-a386-4749-8401-7ef599082b8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-1f2294cd-4465-415e-bafd-396a43df6448 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_notification_utils.APINotifyTestCase.test_common_params [0.031450s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_multi_shard_as_list [0.064250s] ... 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-10b8ecc6-b0db-4377-90a6-2bab7e3202d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "1128a8d1-5c45-423a-900b-55eb520a70f3", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1128a8d1-5c45-423a-900b-55eb520a70f3", "rel": "self"}, {"href": "http://localhost/nodes/1128a8d1-5c45-423a-900b-55eb520a70f3", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.020648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.045974s] ... 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-800b36c8-46e3-426d-9e55-1f972fd52ea6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.429126s] ... 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-3823627d-c8b7-49ad-af1c-1dd5120d81a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_nodes_by_invalid_provision_state [0.033037s] ... 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-7f1b3038-1baf-4e41-aff1-d69e589e5e64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.056296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.038276s] ... 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-ec65946a-bbd0-41c8-9952-510e947eeab7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.026912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.021460s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_multi_shard_detail [0.112558s] ... 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-ef2273d0-0056-404c-addf-a3fb70d5e5ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8c16ecdb-7230-44de-80e0-7a01791d7cd6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/8c16ecdb-7230-44de-80e0-7a01791d7cd6", "rel": "self"}, {"href": "http://localhost/nodes/8c16ecdb-7230-44de-80e0-7a01791d7cd6", "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.044912s] ... 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-4c561a6a-7946-4d94-93e0-eddd497e5265 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.026998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.018017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.157167s] ... 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-268cc8ba-23ee-42d9-ba10-c8ee86f23677 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:50.428708+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard [0.071730s] ... 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-f32b53cc-0905-4162-8c77-8efe12be3ab2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_nodes_by_lessee [0.074209s] ... 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-c375ffbf-ee92-47be-a63b-bd7aaf3ea8ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "a184a361-79e6-4a7c-8d17-6e053292f486", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a184a361-79e6-4a7c-8d17-6e053292f486", "rel": "self"}, {"href": "http://localhost/nodes/a184a361-79e6-4a7c-8d17-6e053292f486", "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-c5ca3871-0a56-4485-afeb-ba0a22fb4d6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "35858d06-7883-45e2-b430-d118ab325746", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/35858d06-7883-45e2-b430-d118ab325746", "rel": "self"}, {"href": "http://localhost/nodes/35858d06-7883-45e2-b430-d118ab325746", "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-e43cd956-7a87-4fd5-b45b-94e78e5ba700 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "a184a361-79e6-4a7c-8d17-6e053292f486", "created_at": "2024-03-18T18:15:50.522169+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/a184a361-79e6-4a7c-8d17-6e053292f486", "rel": "self"}, {"href": "http://localhost/nodes/a184a361-79e6-4a7c-8d17-6e053292f486", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a184a361-79e6-4a7c-8d17-6e053292f486/ports", "rel": "self"}, {"href": "http://localhost/nodes/a184a361-79e6-4a7c-8d17-6e053292f486/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a184a361-79e6-4a7c-8d17-6e053292f486/states", "rel": "self"}, {"href": "http://localhost/nodes/a184a361-79e6-4a7c-8d17-6e053292f486/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a184a361-79e6-4a7c-8d17-6e053292f486/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a184a361-79e6-4a7c-8d17-6e053292f486/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a184a361-79e6-4a7c-8d17-6e053292f486/volume", "rel": "self"}, {"href": "http://localhost/nodes/a184a361-79e6-4a7c- DEBUG util.py:445: 8d17-6e053292f486/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-599ea2e4-f481-4702-9339-3efefe62b953 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "35858d06-7883-45e2-b430-d118ab325746", "created_at": "2024-03-18T18:15:50.524320+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/35858d06-7883-45e2-b430-d118ab325746", "rel": "self"}, {"href": "http://localhost/nodes/35858d06-7883-45e2-b430-d118ab325746", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/35858d06-7883-45e2-b430-d118ab325746/ports", "rel": "self"}, {"href": "http://localhost/nodes/35858d06-7883-45e2-b430-d118ab325746/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/35858d06-7883-45e2-b430-d118ab325746/states", "rel": "self"}, {"href": "http://localhost/nodes/35858d06-7883-45e2-b430-d118ab325746/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/35858d06-7883-45e2-b430-d118ab325746/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/35858d06-7883-45e2-b430-d118ab325746/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/35858d06-7883-45e2-b430-d118ab325746/volume", "rel": "self"}, {"href": "http://localhost/nodes/35858d06-7883-45e2-b430-d118ab325746/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard_detail_fails_wrong_version [0.051433s] ... 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-dd744d73-abbd-45b4-a0f4-fb22dabe6ee7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_nodes_by_lessee_not_allowed [0.042370s] ... 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-0ad533c0-4d3f-42da-9036-299734f94907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-7cf6cbd4-6d46-48a4-afc9-6cd29bf62b85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestPatch.test_add_local_link_connection_network_type [0.106259s] ... 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-cf8d03e2-38fa-4307-b888-8363a4e85fc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:50.552200+00:00", "updated_at": "2024-03-18T18:15:50.621243+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.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard_fails_wrong_version [0.062175s] ... 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-5c884a8d-2bc5-42f5-b596-69e287a809e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.043884s] ... 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-bdf474b5-3411-491d-9319-96f7a54b2151 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_get_nodes_by_owner [0.069622s] ... 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-6219a527-54b9-41a5-bb9e-6e35ae461b1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "709b5558-f818-40ce-b089-14979930e417", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/709b5558-f818-40ce-b089-14979930e417", "rel": "self"}, {"href": "http://localhost/nodes/709b5558-f818-40ce-b089-14979930e417", "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-27336535-9016-4588-8b5a-e295941bc067 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "b8e39925-6f3b-4417-bc31-be1740a8605d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d", "rel": "self"}, {"href": "http://localhost/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d", "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-bed27d62-95d5-4449-b9d0-128c1747f3e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "709b5558-f818-40ce-b089-14979930e417", "created_at": "2024-03-18T18:15:50.638985+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/709b5558-f818-40ce-b089-14979930e417", "rel": "self"}, {"href": "http://localhost/nodes/709b5558-f818-40ce-b089-14979930e417", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/709b5558-f818-40ce-b089-14979930e417/ports", "rel": "self"}, {"href": "http://localhost/nodes/709b5558-f818-40ce-b089-14979930e417/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/709b5558-f818-40ce-b089-14979930e417/states", "rel": "self"}, {"href": "http://localhost/nodes/709b5558-f818-40ce-b089-14979930e417/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/709b5558-f818-40ce-b089-14979930e417/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/709b5558-f818-40ce-b089-14979930e417/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/709b5558-f818-40ce-b089-14979930e417/volume", "rel": "self"}, {"href": "http://localhost/nodes/709b5558-f818-40ce-b089-14979930e417/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-b50d5edf-987a-4b97-85e6-101a2de24315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "b8e39925-6f3b-4417-bc31-be1740a8605d", "created_at": "2024-03-18T18:15:50.641596+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/b8e39925-6f3b-4417-bc31-be1740a8605d", "rel": "self"}, {"href": "http://localhost/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/ports", "rel": "self"}, {"href": "http://localhost/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/states", "rel": "self"}, {"href": "http://localhost/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/volume", "rel": "self"}, {"href": "http://localhost/nodes/b8e39925-6f3b-4417-bc31-be1740a8605d/volume", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.034276s] ... 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-133137cd-0c00-4bdb-9876-35d4bc5da9e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-f54c195b-2515-49c3-a2cc-bbdf745c7256 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.089545s] ... 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-b5707191-0500-4db4-adb4-e0765659abf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:50.708528+00:00", "updated_at": "2024-03-18T18:15:50.754740+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.214221s] ... 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-ee2255a5-2d97-473d-b15c-1aa4b7512bf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.059473s] ... 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-866de5f8-d78a-4612-8092-e0b9281eca19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "89a17df4-c57c-4f95-8bce-01bf5889999f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/89a17df4-c57c-4f95-8bce-01bf5889999f", "rel": "self"}, {"href": "http://localhost/nodes/89a17df4-c57c-4f95-8bce-01bf5889999f", "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-0d5f1689-2dcc-4e01-b6db-b0cb25ae212a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "87f7e728-1812-407d-9158-813649a41bf1", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "deploying", "name": null, "links": [{"href": "http://localhost/v1/nodes/87f7e728-1812-407d-9158-813649a41bf1", "rel": "self"}, {"href": "http://localhost/nodes/87f7e728-1812-407d-9158-813649a41bf1", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_sharded [0.126926s] ... 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-a46765c3-41b8-4e94-8f61-4c8590eb4300 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-16c42b5d-5c73-47e4-a169-71b7d0251a73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d186b71c-e58f-420c-a299-7d7d06a87e86", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/d186b71c-e58f-420c-a299-7d7d06a87e86", "rel": "self"}, {"href": "http://localhost/nodes/d186b71c-e58f-420c-a299-7d7d06a87e86", "rel": "bookmark"}]}, {"uuid": "8795e6c8-cc3c-4d6f-bb24-95b844588102", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/8795e6c8-cc3c-4d6f-bb24-95b844588102", "rel": "self"}, {"href": "http://localhost/nodes/8795e6c8-cc3c-4d6f-bb24-95b844588102", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.041016s] ... 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-22e3fea9-b072-40fb-89b4-0668cb50ef2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.034383s] ... 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-99b98f1a-c90e-42d3-bba0-01f9b9f92dcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.057202s] ... 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-cba26a63-fcf4-4e3a-a391-2e455f3e6285 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "1fcdd9e2-13bb-4a6b-890e-4b8f871d2917", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1fcdd9e2-13bb-4a6b-890e-4b8f871d2917", "rel": "self"}, {"href": "http://localhost/nodes/1fcdd9e2-13bb-4a6b-890e-4b8f871d2917", "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-2490d9d4-592a-4ef1-af7f-d87da8bfca83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "aa3add03-086e-4dfd-a85a-406b334ab895", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/aa3add03-086e-4dfd-a85a-406b334ab895", "rel": "self"}, {"href": "http://localhost/nodes/aa3add03-086e-4dfd-a85a-406b334ab895", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_single_shard_detail [0.089986s] ... 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-470322dc-3c3e-4afc-a23b-2094f549db8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:50.846767+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.083937s] ... 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-28d7f05f-71c1-4e20-b599-500562a07513 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:50.833378+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.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.124027s] ... 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-d8ccd1d3-f718-45ba-9511-fe4593d813bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.068587s] ... 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-9b0b2601-d72b-487f-9a4d-5afb0ef0e5fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "258979f0-a489-4db4-a067-fe08a3a0495a", "created_at": "2024-03-18T18:15:50.907220+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/258979f0-a489-4db4-a067-fe08a3a0495a", "rel": "self"}, {"href": "http://localhost/nodes/258979f0-a489-4db4-a067-fe08a3a0495a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/258979f0-a489-4db4-a067-fe08a3a0495a/ports", "rel": "self"}, {"href": "http://localhost/nodes/258979f0-a489-4db4-a067-fe08a3a0495a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/258979f0-a489-4db4-a067-fe08a3a0495a/states", "rel": "self"}, {"href": "http://localhost/nodes/258979f0-a489-4db4-a067-fe08a3a0495a/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-6bdd3d47-9f13-4eb1-999b-ce623d2f7461 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "307240e8-0544-416d-8c53-16c5a84c4e52", "created_at": "2024-03-18T18:15:50.911330+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/307240e8-0544-416d-8c53-16c5a84c4e52", "rel": "self"}, {"href": "http://localhost/nodes/307240e8-0544-416d-8c53-16c5a84c4e52", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/307240e8-0544-416d-8c53-16c5a84c4e52/ports", "rel": "self"}, {"href": "http://localhost/nodes/307240e8-0544-416d-8c53-16c5a84c4e52/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/307240e8-0544-416d-8c53-16c5a84c4e52/states", "rel": "self"}, {"href": "http://localhost/nodes/307240e8-0544-416d-8c53-16c5a84c4e52/states", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_get_node_shard_field [0.093003s] ... 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-94beae42-9d47-40fa-ab32-147fc330e01a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:50.939285+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.090893s] ... 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-52960e5a-b657-4065-8391-3c2da8cf8f12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:50.916894+00:00", "updated_at": "2024-03-18T18:15:50.972163+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.042636s] ... 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-0eeac7b7-2518-4657-9996-7ec823f10d44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.119953s] ... 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-b0fb73b8-626d-4365-b795-dfba0916ca5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_nodes_by_resource_class_invalid_api_version_detail [0.037448s] ... 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-5e0cd850-2c69-4f75-92f6-fd0185a968df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.032305s] ... 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-e40917b6-d473-442a-957c-a6e1cde5d166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_get_node_shard_field_fails_wrong_version [0.088844s] ... 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-20c1fb1e-1cf7-4ccd-86cb-29857323b107 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:51.049035+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_nodes_by_traits_not_allowed_detail [0.033393s] ... 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-90735dda-df46-44bf-96a3-79d23917274b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.094961s] ... 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-69c4bcef-f473-404b-ae20-532b831476a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.068433s] ... 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-73037a21-d91e-43ac-8e48-d5ce916bab74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "bd86e7ca-00f8-45f0-b93f-8199f13a138a", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/bd86e7ca-00f8-45f0-b93f-8199f13a138a", "rel": "self"}, {"href": "http://localhost/ports/bd86e7ca-00f8-45f0-b93f-8199f13a138a", "rel": "bookmark"}]}, {"uuid": "86a0bc5c-fbbe-4896-8f5d-de5e142aade4", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/86a0bc5c-fbbe-4896-8f5d-de5e142aade4", "rel": "self"}, {"href": "http://localhost/ports/86a0bc5c-fbbe-4896-8f5d-de5e142aade4", "rel": "bookmark"}]}, {"uuid": "f57045bc-200c-4412-bc4d-b16bd5b9cfed", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/f57045bc-200c-4412-bc4d-b16bd5b9cfed", "rel": "self"}, {"href": "http://localhost/ports/f57045bc-200c-4412-bc4d-b16bd5b9cfed", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=f57045bc-200c-4412-bc4d-b16bd5b9cfed"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.059617s] ... 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-17800cf8-18fb-46d3-a095-ddbcd9d96283 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.128268+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_configdrive_dict [0.052983s] ... 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-cac125bd-3675-497b-8ebf-7864976bc10e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.184009+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_port.TestListPorts.test_collection_links_custom_fields [0.094148s] ... 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-252acc42-74af-462a-99d5-5590849f6092 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "84695b2f-0ff5-4fe0-ae59-c85c354cee19", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/84695b2f-0ff5-4fe0-ae59-c85c354cee19", "rel": "self"}, {"href": "http://localhost/ports/84695b2f-0ff5-4fe0-ae59-c85c354cee19", "rel": "bookmark"}]}, {"uuid": "e4b575e6-e52c-4afd-8f2b-1d77e5b0ed3d", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/e4b575e6-e52c-4afd-8f2b-1d77e5b0ed3d", "rel": "self"}, {"href": "http://localhost/ports/e4b575e6-e52c-4afd-8f2b-1d77e5b0ed3d", "rel": "bookmark"}]}, {"uuid": "76af71e9-9f73-4af5-be7e-126c876cbd3d", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/76af71e9-9f73-4af5-be7e-126c876cbd3d", "rel": "self"}, {"href": "http://localhost/ports/76af71e9-9f73-4af5-be7e-126c876cbd3d", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=76af71e9-9f73-4af5-be7e-126c876cbd3d"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.138086s] ... 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-2a14d33b-bd78-4f79-95e1-00b29de8ffb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.132798+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_custom_fields [0.051257s] ... 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-41a3386f-3da7-4854-aeb5-c842bd87eb3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_port.TestPatch.test_add_physical_network_old_api_version [0.317142s] ... 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-8ea81943-0654-481e-b48f-df6b31dccb22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.controllers.v1.test_node.TestPatch.test_remove_uuid [0.056274s] ... 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-3cf86d4c-29fd-4bd6-b3ad-0fb395a47c4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_one_custom_fields_as_list [0.063164s] ... 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-8939929a-507d-4aad-841a-d42fca88d023 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_port.TestListPorts.test_collection_links_default_limit [0.108448s] ... 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-4d61b40f-a94e-4657-b6f3-69b701e04657 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b58c592e-a644-4c04-a09e-6defbae88721", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/b58c592e-a644-4c04-a09e-6defbae88721", "rel": "self"}, {"href": "http://localhost/ports/b58c592e-a644-4c04-a09e-6defbae88721", "rel": "bookmark"}]}, {"uuid": "4143051f-0f96-401c-9676-2d0d0f22dfb3", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/4143051f-0f96-401c-9676-2d0d0f22dfb3", "rel": "self"}, {"href": "http://localhost/ports/4143051f-0f96-401c-9676-2d0d0f22dfb3", "rel": "bookmark"}]}, {"uuid": "b73825d1-4f0a-4334-94be-a0c9751cefc9", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/b73825d1-4f0a-4334-94be-a0c9751cefc9", "rel": "self"}, {"href": "http://localhost/ports/b73825d1-4f0a-4334-94be-a0c9751cefc9", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=b73825d1-4f0a-4334-94be-a0c9751cefc9"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.059890s] ... 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-c5c8b65b-aeaa-4a5f-8ece-4555d4485845 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_one_custom_fields_show_password [0.055453s] ... 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-2ef588b5-502c-4de6-a5bc-9aadd2b2e634 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_port.TestPatch.test_add_physical_network_upgrade [0.117953s] ... 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-b7dbc7fd-dccd-4ea0-8823-344b9b3872b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_get_one_with_deleted_chassis [0.054035s] ... 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-893008a2-db0e-4b62-b754-dc62d7585cf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.409651+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_port.TestListPorts.test_detail [0.092432s] ... 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-1c9441f5-e449-4e8d-99bc-b0646ad578fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:51.401819+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.108771s] ... 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-ce728ea3-e18e-4fc6-8156-d1aa5401950b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.399593+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_with_double_json [0.050098s] ... 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-0dff613b-44b2-4e2b-9714-514def5bbe58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.461852+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.104239s] ... 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-bcbd7c75-74be-4cf5-9846-c72caece44ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.077297s] ... 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-7ecb4ad7-d4b6-4ed1-b631-50c4848475e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_port.TestPatch.test_add_portgroup_uuid [0.177323s] ... 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': 'bb842d76-15df-4897-ba51-25f135a368b5', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5e05073-1187-43bb-b44e-de6ae5b707c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:51.454799+00:00", "updated_at": "2024-03-18T18:15:51.560356+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": "bb842d76-15df-4897-ba51-25f135a368b5"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.063698s] ... 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-4faf2d53-af8b-498b-ae3c-eab4d2bd4497 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.084092s] ... 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-91636c77-0907-4a6f-9c60-0e5d2be8fcdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_one_with_json [0.198584s] ... 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-37cb7fc2-6bfd-43c6-bfda-648101ab0107 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.589567+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.112862s] ... 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-bd71817b-9282-4831-98b6-aa029e204d24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.640962+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_port.TestListPorts.test_detail_by_node_name_ok [0.124235s] ... 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-13c4df5f-2696-4f6b-b445-2b5f2810c052 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:51.710293+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_port.TestPatch.test_add_root [0.205616s] ... 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-87341781-d318-45af-a07f-6b0cc25cb480 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.675725+00:00", "updated_at": "2024-03-18T18:15:51.778711+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_node.TestListNodes.test_get_one_with_json_in_name [0.161766s] ... 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-7a7879d7-3cf2-42a4-ba20-2cbe6d53d9a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:51.781079+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.TestPatch.test_replace_maintenance_by_name [0.118728s] ... 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-066b7c98-2b5e-49fe-a925-31e86af84a73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:51.755553+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.123321s] ... 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-53cf615b-045a-4149-87b2-a565cb5e04bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:51.818539+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.122684s] ... 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-8dee0490-be7b-4eac-b426-c7c6eba89235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.097900s] ... 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-093e400f-9e69-440f-9563-73a7a225e863 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.133912s] ... 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-d4b1b16f-3013-486c-9f13-65ae2c388403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:51.968090+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.054645s] ... 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-8340031e-7038-4d10-9a91-6b1761b1bc74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.208821s] ... 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-8ed385a8-20d7-4bd1-8313-4d7efb984b0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-f93dd36e-b951-4014-a9b3-4249ab9f17a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.101820s] ... 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-0e984fe6-7b8c-46f7-8cbe-ebadf5c7f952 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:52.064625+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.048662s] ... 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-a0ed83cc-fdc0-46e7-8156-e2df2496da81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.245731s] ... 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-759298bc-0a27-467d-b222-d07fcee2bfe1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.043591s] ... 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-24341527-c4dc-44b7-87eb-b1d1a5f81c30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.107878s] ... 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-a9e40a90-5bf1-4543-a7b5-1219b346e042 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ae9dc093-c3e7-429b-88fa-e287b43d904d", "created_at": "2024-03-18T18:15:52.153613+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/ae9dc093-c3e7-429b-88fa-e287b43d904d", "rel": "self"}, {"href": "http://localhost/ports/ae9dc093-c3e7-429b-88fa-e287b43d904d", "rel": "bookmark"}], "portgroup_uuid": null}, {"uuid": "9e93c734-8646-42cb-b374-846f0078ac2d", "created_at": "2024-03-18T18:15:52.160094+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/9e93c734-8646-42cb-b374-846f0078ac2d", "rel": "self"}, {"href": "http://localhost/ports/9e93c734-8646-42cb-b374-846f0078ac2d", "rel": "bookmark"}], "portgroup_uuid": null}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.094177s] ... 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-44241246-ba72-499b-8805-4131b8125185 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.088526s] ... 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-5a356bb6-f667-4f63-80de-63485924bbff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestPatch.test_invalid_physnet_non_text [0.151185s] ... 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-ed37b11c-20f9-4dad-890c-ccd083e4faa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.085436s] ... 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-462402da-0984-41b5-ae83-a989fb3ad68e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.087304s] ... 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-8dc1dc56-e641-4b3f-9299-66c1d061f1dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_reset_interface_fields [0.412077s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-07eb7727-dcb8-4980-89c6-0275a8d041c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-ffd93e94-0ccf-423b-a0e3-e91e92ed838e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-84fadda6-c574-4839-86d9-8254c41ef9f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "alloca DEBUG util.py:445: tion_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-bf2fcc02-6a90-4c2a-9b4f-fcf833e3eb9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-9bba1e56-e280-4990-bb81-1d70309f9cbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-68f2af19-0452-4f3f-a674-e51f1296bb36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-5766b4dc-7420-4fac-9cab-09f3fb664f14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/38 DEBUG util.py:445: 2a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068 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-1b127fcf-61da-4bc1-bada-0030fc22fb39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "382a1ea1-ed6c-4d5f-946b-16feac853068", "created_at": "2024-03-18T18:15:52.071375+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "self"}, {"href": "http://localhost/nodes/382a1ea1-ed6c-4d5f-946b-16feac853068/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.056936s] ... 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-97a12f7e-1a9e-4c81-ac7f-0fcd31d572d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.055828s] ... 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-36b03285-2114-4e94-bdbe-4c8e2a579441 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_invalid_physnet_too_long [0.153175s] ... 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-f986b3a5-6a35-4f38-8d81-e74bc741929d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.069782s] ... 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-01965454-79ff-414d-a0e6-5464eb48f35d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.132810s] ... 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-7939436d-1ef0-4400-8a85-89bea5432e9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.052281s] ... 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-5e48eed2-679f-487f-b206-5538f209a6ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_get_supported_boot_devices_by_name [0.050592s] ... 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-d52bd556-c033-4160-adb8-232623aaf349 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestListPorts.test_detail_using_query_old_version [0.052449s] ... 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-ec000995-0f53-4328-926b-68582b144f04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_portgroups_subresource_patch [0.098890s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/93ee5cf1-d77a-4e12-b00d-a743f9ff860d 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-8e7bd04d-e589-42d8-b973-14f55e49a0fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestListPorts.test_detail_with_incorrect_api_usage [0.051091s] ... 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-7e2bff46-ada2-4446-860d-a8e124f7f98d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.095870s] ... 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-84f37b7e-e9b4-4f8c-b2c4-e9898f84656f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_port.TestListPorts.test_empty [0.044536s] ... 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-a665987e-bc38-4ee9-8657-f45f7407f19d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestPatch.test_remove_local_link_connection_network_type [0.126988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/9c1910d9-6983-4a50-9fc3-e26428889bbb 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-c40d51fb-5f75-44cd-8b18-305a7ac9853c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "9c1910d9-6983-4a50-9fc3-e26428889bbb", "created_at": "2024-03-18T18:15:52.627260+00:00", "updated_at": "2024-03-18T18:15:52.697003+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/9c1910d9-6983-4a50-9fc3-e26428889bbb", "rel": "self"}, {"href": "http://localhost/ports/9c1910d9-6983-4a50-9fc3-e26428889bbb", "rel": "bookmark"}], "portgroup_uuid": null} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.061711s] ... 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-282ea612-fb62-4848-a779-b00f49841f07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "77f7bf06-5f45-4b26-91dc-7b16855d7530", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/77f7bf06-5f45-4b26-91dc-7b16855d7530", "rel": "self"}, {"href": "http://localhost/ports/77f7bf06-5f45-4b26-91dc-7b16855d7530", "rel": "bookmark"}]}, {"uuid": "c7134cf0-3d66-45b5-a588-ddcacad24d45", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/c7134cf0-3d66-45b5-a588-ddcacad24d45", "rel": "self"}, {"href": "http://localhost/ports/c7134cf0-3d66-45b5-a588-ddcacad24d45", "rel": "bookmark"}]}, {"uuid": "05910530-af8f-473d-b12e-8237344cc713", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/05910530-af8f-473d-b12e-8237344cc713", "rel": "self"}, {"href": "http://localhost/ports/05910530-af8f-473d-b12e-8237344cc713", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.210256s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73 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-87ede094-d72f-4723-ac5e-7f16b0c71b2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "20412842-f4a8-4e9c-be0e-6f27047b1d73", "created_at": "2024-03-18T18:15:52.599712+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/20412842-f4a8-4e9c-be0e-6f27047b1d73", "rel": "self"}, {"href": "http://localhost/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/ports", "rel": "self"}, {"href": "http://localhost/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/states", "rel": "self"}, {"href": "http://localhost/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/volume", "rel": "self"}, {"href": "http://localhost/nodes/20412842-f4a8-4e9c-be0e-6f27047b1d73/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.050104s] ... 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-8e558207-1ee3-484c-a3ab-7773d172774f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_get_supported_indicators [0.124355s] ... 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-d9e5a623-2c16-4e09-ae9f-4ba43a27f8ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.071305s] ... 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-3740cf76-2de0-4a12-949a-839e08e2272d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.053931s] ... 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-490128ac-dca1-4a67-9aff-664251983109 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.093383s] ... 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-eae62902-d548-4a57-9f66-b67026dfad8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_port.TestListPorts.test_get_all_by_node_name_not_supported [0.052870s] ... 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-9243ff27-554e-4e43-868e-b01a4412ecb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_get_supported_indicators_versioning [0.100811s] ... 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-6780aab7-512b-413b-a1df-e35788273096 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.069029s] ... 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-ec905298-8252-4350-9fb8-372071ac324a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e5da764d-a659-4117-acc3-f13cb95158fb", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/e5da764d-a659-4117-acc3-f13cb95158fb", "rel": "self"}, {"href": "http://localhost/ports/e5da764d-a659-4117-acc3-f13cb95158fb", "rel": "bookmark"}]}, {"uuid": "0bc40061-3bce-42a4-b682-885e70a795e9", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/0bc40061-3bce-42a4-b682-885e70a795e9", "rel": "self"}, {"href": "http://localhost/ports/0bc40061-3bce-42a4-b682-885e70a795e9", "rel": "bookmark"}]}, {"uuid": "38b9e631-a71f-4e5b-a149-afc31d2b797f", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/38b9e631-a71f-4e5b-a149-afc31d2b797f", "rel": "self"}, {"href": "http://localhost/ports/38b9e631-a71f-4e5b-a149-afc31d2b797f", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.095959s] ... 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-68c179f0-3f7f-4ac0-8e92-f62cb8cf18b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.216837s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb 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-197cab99-fb50-41d0-a041-84fcef3fd733 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "edf2af01-be83-4ac3-9617-91fe828f99eb", "created_at": "2024-03-18T18:15:52.841235+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/edf2af01-be83-4ac3-9617-91fe828f99eb", "rel": "self"}, {"href": "http://localhost/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/ports", "rel": "self"}, {"href": "http://localhost/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/states", "rel": "self"}, {"href": "http://localhost/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/volume", "rel": "self"}, {"href": "http://localhost/nodes/edf2af01-be83-4ac3-9617-91fe828f99eb/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.042735s] ... 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-79366ecc-08a9-4465-aef0-825389aba844 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:15:52.950501+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_node.TestListNodes.test_get_traits_fields [0.086558s] ... 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-87255fb4-1e53-4e0a-a01d-dd952d369767 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.138991s] ... 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-8b3c830b-8317-46d6-b270-b03db5f0eb86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:52.986085+00:00", "updated_at": "2024-03-18T18:15:53.032813+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-92a4a2b2-e4d7-4076-b64f-33234605b473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:52.986085+00:00", "updated_at": "2024-03-18T18:15:53.076053+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.048844s] ... 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-b4040c1a-31a8-4798-a091-616042b730bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.183830s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/0b4bf504-6716-4d79-9fd1-7c993c04faf3 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-3ac7ad52-1127-4f35-a5fb-2c325f7340dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "0b4bf504-6716-4d79-9fd1-7c993c04faf3", "created_at": "2024-03-18T18:15:53.029848+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/0b4bf504-6716-4d79-9fd1-7c993c04faf3", "rel": "self"}, {"href": "http://localhost/nodes/0b4bf504-6716-4d79-9fd1-7c993c04faf3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0b4bf504-6716-4d79-9fd1-7c993c04faf3/ports", "rel": "self"}, {"href": "http://localhost/nodes/0b4bf504-6716-4d79-9fd1-7c993c04faf3/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.062607s] ... 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-579b9e8f-0784-4fee-afe4-f9e4c3b406af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.265077s] ... 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-16b72932-5331-43ab-8467-fae3d2bb263c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.000824+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_port.TestListPorts.test_get_all_by_portgroup_uuid [0.065913s] ... 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-5a96ca3d-6747-4ca0-a6ad-a2f8d3160283 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.277576+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.124677s] ... 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-67944f08-2d7a-41f9-b9b3-b91531f25990 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.254057+00:00", "updated_at": "2024-03-18T18:15:53.312884+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.036327s] ... 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-ee901183-ae75-46b5-80af-af1870590b6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestPatch.test_update_allowed_in_power_transition [0.198021s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/5d67b512-b939-47a8-afc7-9cf5b8b3434c 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-d28ad580-0e80-432b-8a84-26e7af7cdec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "5d67b512-b939-47a8-afc7-9cf5b8b3434c", "created_at": "2024-03-18T18:15:53.227819+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/5d67b512-b939-47a8-afc7-9cf5b8b3434c", "rel": "self"}, {"href": "http://localhost/nodes/5d67b512-b939-47a8-afc7-9cf5b8b3434c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5d67b512-b939-47a8-afc7-9cf5b8b3434c/ports", "rel": "self"}, {"href": "http://localhost/nodes/5d67b512-b939-47a8-afc7-9cf5b8b3434c/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.066680s] ... 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-6896e95d-3e7c-4d8d-9cd0-779359c49355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.370918+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_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.422746s] ... 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-9178c789-4a50-4e05-8eef-05077d12fa01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.117501s] ... 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-079e5c71-2fbc-49c6-8df5-45bcc09d9488 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.045965s] ... 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-a2a7a3ee-f0a0-4f39-aa42-77c1445eceb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.049419s] ... 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-86408da7-a079-415d-8012-5cf7bff2e2bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.036143s] ... 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-c58ca0ad-53d0-4d84-81a4-0a7eea516558 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.083698s] ... 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-f13c129c-38cc-4172-9ffe-9aeb44463b9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "cd1853b2-f510-4a91-b204-a237ae539088"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.207848s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a 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-3862c934-8f29-4ee2-b33e-6a5487df09ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "f2ae2f74-1727-4161-838c-9163bef7f72a", "created_at": "2024-03-18T18:15:53.450070+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/f2ae2f74-1727-4161-838c-9163bef7f72a", "rel": "self"}, {"href": "http://localhost/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/ports", "rel": "self"}, {"href": "http://localhost/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/states", "rel": "self"}, {"href": "http://localhost/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/volume", "rel": "self"}, {"href": "http://localhost/nodes/f2ae2f74-1727-4161-838c-9163bef7f72a/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.065813s] ... 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-fbfb3861-9286-4566-9dd0-b28b357cbf0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "a338d7b3-a794-44f4-8e79-5ded12683316", "extra": {}, "links": [{"href": "http://localhost/v1/ports/a338d7b3-a794-44f4-8e79-5ded12683316", "rel": "self"}, {"href": "http://localhost/ports/a338d7b3-a794-44f4-8e79-5ded12683316", "rel": "bookmark"}]}, {"uuid": "9b4a9f77-80a6-46bc-b44d-c4b523ae3e53", "extra": {}, "links": [{"href": "http://localhost/v1/ports/9b4a9f77-80a6-46bc-b44d-c4b523ae3e53", "rel": "self"}, {"href": "http://localhost/ports/9b4a9f77-80a6-46bc-b44d-c4b523ae3e53", "rel": "bookmark"}]}, {"uuid": "b04b5364-30fb-4d56-abfa-2eb7fde904e6", "extra": {}, "links": [{"href": "http://localhost/v1/ports/b04b5364-30fb-4d56-abfa-2eb7fde904e6", "rel": "self"}, {"href": "http://localhost/ports/b04b5364-30fb-4d56-abfa-2eb7fde904e6", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.056757s] ... 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-f32ca8aa-998f-43e0-bdfe-e138f6bf445e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.056446s] ... 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-ad4a953b-a8d5-4bb4-bc7e-6104980c75f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/23ec91fd-070e-4705-b8f7-2968e4b085a1", "rel": "self"}, {"href": "http://localhost/ports/23ec91fd-070e-4705-b8f7-2968e4b085a1", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/641e967a-a993-431b-bfcc-efeeb0ad65ac", "rel": "self"}, {"href": "http://localhost/ports/641e967a-a993-431b-bfcc-efeeb0ad65ac", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=641e967a-a993-431b-bfcc-efeeb0ad65ac"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.115181s] ... 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-cf6d0dd5-9a56-4fa0-a19e-c2ba1bd5bc5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:53.580476+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-aa03251a-002e-4fca-b2cd-563370e9bdd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.580476+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.045980s] ... 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-45c8dd68-e569-4d6a-8726-0465a17071d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_update_automated_clean_old_api [0.122254s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/7eb300d3-6e76-42cd-985f-e91c821c40d2 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-151932ab-9126-4078-9243-51ee1d9aad8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.123070s] ... 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-f6aa1d31-638d-46db-ae60-741bad38e25a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.050738s] ... 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-45235c04-982c-44b2-94a1-023447ee689f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_update_automated_clean_with_false [0.059317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/487e1f39-ccbc-4f8f-b65a-1eefc846eb96 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-74ecd36a-c889-4d5c-93ed-0987444f4cef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.137053s] ... 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-9b6a34c6-daf8-4ff2-a9ad-97d65f12c9b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.706755+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-aa7c1cf4-d17d-4088-b714-46c6376ff6f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.706755+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_port.TestListPorts.test_get_custom_fields_is_smartnic [0.066772s] ... 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-24a6a150-7d4f-40ab-b051-b8175d1c351a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-9bbdfce3-1b45-4acb-bb33-08737c2a8164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.051570s] ... 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-14ac7819-2d32-4351-a5c5-bd2b00c183e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.079282s] ... 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-5234899a-81ad-41c8-a79b-7f94890f8a77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:53.814291+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-c39cb762-e375-4d24-b1a4-b69d5a20830b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.814291+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.086447s] ... 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-0623bf9a-df54-4e99-a854-642f25a68ed5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-665be456-7ed3-4812-924d-6dbbf1c41e89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.123268s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/85a92fea-bddd-4334-b90e-f3784b162154 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-b1925982-50f8-4625-ae0a-0b5e77d9ab5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "85a92fea-bddd-4334-b90e-f3784b162154", "created_at": "2024-03-18T18:15:53.850011+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/85a92fea-bddd-4334-b90e-f3784b162154", "rel": "self"}, {"href": "http://localhost/nodes/85a92fea-bddd-4334-b90e-f3784b162154", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/85a92fea-bddd-4334-b90e-f3784b162154/ports", "rel": "self"}, {"href": "http://localhost/nodes/85a92fea-bddd-4334-b90e-f3784b162154/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/85a92fea-bddd-4334-b90e-f3784b162154/states", "rel": "self"}, {"href": "http://localhost/nodes/85a92fea-bddd-4334-b90e-f3784b162154/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/85a92fea-bddd-4334-b90e-f3784b162154/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/85a92fea-bddd-4334-b90e-f3784b162154/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/85a92fea-bddd-4334-b90e-f3784b162154/volume", "rel": "self"}, {"href": "http://localhost/nodes/85a92fea-bddd-4334-b90e-f3784b162154/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.048716s] ... 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-fef8d09a-2493-4dc7-8983-c96199ec8dda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.071762s] ... 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-4339369a-2658-4b54-820f-ce4f569824f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:53.898446+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-8409a77a-02d8-427f-b6e6-238fef12af44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.898446+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.245010s] ... 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-bd34243d-8b99-40c0-a270-6a10f863c0f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.830585+00:00", "updated_at": "2024-03-18T18:15:53.917777+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.058626s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/e3994770-2439-48f8-afff-7779b8ea1ec3 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-b9f520c9-422d-49b3-90e9-07ad37b1a89e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.051732s] ... 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-3320f432-35be-4313-a659-7e62475457a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.952134+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-56fdde57-5189-4eff-aa5f-2cf2f860ecaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:53.952134+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.050309s] ... 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-3d3aaa98-0f7b-4c11-822b-41b5b8468941 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.001469+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-aade782a-bb4b-48ec-ab37-231d312030fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.001469+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.118406s] ... 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-f0cfcc71-90d7-43fe-a786-61c331b8062c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:53.945060+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_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.066300s] ... 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-9112cacf-e8b8-4cda-8ab4-7633c0f8d6f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.067257+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-1f6a4b72-7f7b-45a9-9dc7-7c5cf8220de7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.067257+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_port.TestListPorts.test_get_one_custom_fields [0.082247s] ... 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-8a5dbae5-8b05-4fd0-9517-6c19c51be183 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.224025s] ... 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-c8e3ab6b-6537-4fbe-8b47-905732f38783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:54.017673+00:00", "updated_at": "2024-03-18T18:15:54.145950+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.061216s] ... 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-8ea444e2-7df2-4a13-b594-25a483fb0320 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.132418+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-2d2eda83-25eb-4bd8-88ba-bb4b4d21c6a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.132418+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.232365s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44 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-c8cdf272-6459-4036-b872-04d3361a827d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "11138cf7-ca0c-417a-8796-c44fb8f81b44", "created_at": "2024-03-18T18:15:54.076831+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/11138cf7-ca0c-417a-8796-c44fb8f81b44", "rel": "self"}, {"href": "http://localhost/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/ports", "rel": "self"}, {"href": "http://localhost/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/states", "rel": "self"}, {"href": "http://localhost/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/volume", "rel": "self"}, {"href": "http://localhost/nodes/11138cf7-ca0c-417a-8796-c44fb8f81b44/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.059813s] ... 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-36554e64-d425-4ced-ad4f-3a7f4df6b9fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.188034+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-e0ee6ac4-132a-492f-9ef4-888523a9f56b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.188034+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.108071s] ... 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-f41232c6-f1a7-48ef-908f-904b4294b576 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.179626+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.TestPatch.test_replace_node_id [0.106291s] ... 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-a395e206-bd04-477f-8562-2a0563a429db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.063634s] ... 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-917f6319-6cc7-4f22-a726-b49b6353ec0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.249368+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-ef8ef773-6404-409c-a3b3-0befd392e8ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.249368+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.063659s] ... 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-9c613adb-35f3-4a5c-8205-df53022c9156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.315157+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-4592747b-d537-4be4-95bd-014d700533bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.315157+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_port.TestPatch.test_replace_node_uuid [0.127591s] ... 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-ad5a1e19-8c2c-49e6-8800-1600ec15f972 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:54.303198+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.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.202200s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/995bdd1d-4d22-4119-a308-c70072e96508 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-04cd5c9b-b77a-49b3-8bbe-28417dbe640e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_links [0.058473s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff487c77-6664-4936-8e27-c58c64403fad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3b30a43e-1a87-4816-a108-de6e00f3f0f9", "created_at": "2024-03-18T18:15:54.375275+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/3b30a43e-1a87-4816-a108-de6e00f3f0f9", "rel": "self"}, {"href": "http://localhost/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9/ports", "rel": "self"}, {"href": "http://localhost/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93f7e44f-2884-4e0e-9345-2b8c4c2e9d74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3b30a43e-1a87-4816-a108-de6e00f3f0f9", "created_at": "2024-03-18T18:15:54.375275+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/3b30a43e-1a87-4816-a108-de6e00f3f0f9", "rel": "self"}, {"href": "http://localhost/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9/ports", "rel": "self"}, {"href": "http://localhost/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac4195c7-8491-4257-9000-f7237e72b4ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3b30a43e-1a87-4816-a108-de6e00f3f0f9", "created_at": "2024-03-18T18:15:54.375275+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/3b30a43e-1a87-4816-a108-de6e00f3f0f9", "rel": "self"}, {"href": "http://localhost/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9/ports", "rel": "self"}, {"href": "http://localhost/nodes/3b30a43e-1a87-4816-a108-de6e00f3f0f9/ports", "rel DEBUG util.py:445: ": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.224769s] ... 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-ec361f3d-77a9-4a67-afb8-ad02ac70255b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.302470+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-7dc3297f-9331-4ee1-9fc5-f55d396058c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.302470+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.108320s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4cae92a-0ee1-4fe5-96de-2a3d3963f314 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "dc90c4f4-ac50-4c91-a457-4ef9ad920754", "created_at": "2024-03-18T18:15:54.450821+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/dc90c4f4-ac50-4c91-a457-4ef9ad920754", "rel": "self"}, {"href": "http://foo/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754/ports", "rel": "self"}, {"href": "http://foo/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b83dac07-d9a6-4ee1-a23f-7a18cf57ddc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "dc90c4f4-ac50-4c91-a457-4ef9ad920754", "created_at": "2024-03-18T18:15:54.450821+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/dc90c4f4-ac50-4c91-a457-4ef9ad920754", "rel": "self"}, {"href": "http://foo/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754/ports", "rel": "self"}, {"href": "http://foo/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2746d50b-6cea-4cff-bfc0-9cafac5e996c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "dc90c4f4-ac50-4c91-a457-4ef9ad920754", "created_at": "2024-03-18T18:15:54.450821+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/dc90c4f4-ac50-4c91-a457-4ef9ad920754", "rel": "self"}, {"href": "http://foo/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754/ports", "rel": "self"}, {"href": "http://foo/nodes/dc90c4f4-ac50-4c91-a457-4ef9ad920754/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.123523s] ... 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-04c1dec8-2a39-416a-9d82-e5385eb72416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.116681s] ... 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-c710fb74-b2bd-402b-b37b-6f110c5cf3b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:54.511763+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-8d97bd70-efe1-497a-a1fd-6a7cee6aad2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.511763+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.183486s] ... 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-7a45a755-8c9c-4c46-a9c9-cbbebab518f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.100933s] ... 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-d14b4fb3-ec91-4640-811a-b29263ed7736 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "32d98ee2-75d8-4700-b66c-c0ba374e705a", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/32d98ee2-75d8-4700-b66c-c0ba374e705a", "rel": "self"}, {"href": "http://localhost/nodes/32d98ee2-75d8-4700-b66c-c0ba374e705a", "rel": "bookmark"}]}, {"uuid": "c0594896-b9c5-4539-8709-9f0839794607", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/c0594896-b9c5-4539-8709-9f0839794607", "rel": "self"}, {"href": "http://localhost/nodes/c0594896-b9c5-4539-8709-9f0839794607", "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-e1b7f536-dac2-450b-b128-a776e986d87f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d5793745-56a0-446c-b2c6-8a6c39adc8e6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d5793745-56a0-446c-b2c6-8a6c39adc8e6", "rel": "self"}, {"href": "http://localhost/nodes/d5793745-56a0-446c-b2c6-8a6c39adc8e6", "rel": "bookmark"}]}, {"uuid": "ed32cd9f-9c1d-44b1-9d4a-32084a2e39b7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/ed32cd9f-9c1d-44b1-9d4a-32084a2e39b7", "rel": "self"}, {"href": "http://localhost/nodes/ed32cd9f-9c1d-44b1-9d4a-32084a2e39b7", "rel": "bookmark"}]}, {"uuid": "5c91caa1-b467-4dc4-8620-85e10733ea30", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5c91caa1-b467-4dc4-8620-85e10733ea30", "rel": "self"}, {"href": "http://localhost/nodes/5c91caa1-b467-4dc4-8620-85e10733ea30", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.107492s] ... 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-c4bbcfa5-6fa0-4f9c-82c6-e81fd3c5e66b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.081691s] ... 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-c6157795-d9b9-434a-b46b-9cd32ff68633 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f91992c9-c7ef-42ef-b821-12fea7c91e9d", "instance_uuid": "c83e85e0-ba75-4990-8960-6c11973bc141", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f91992c9-c7ef-42ef-b821-12fea7c91e9d", "rel": "self"}, {"href": "http://localhost/nodes/f91992c9-c7ef-42ef-b821-12fea7c91e9d", "rel": "bookmark"}]}, {"uuid": "d0fba6f8-9dde-4de8-9e53-b34998f89336", "instance_uuid": "51305b19-a94e-4500-a332-74a4191df0e2", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d0fba6f8-9dde-4de8-9e53-b34998f89336", "rel": "self"}, {"href": "http://localhost/nodes/d0fba6f8-9dde-4de8-9e53-b34998f89336", "rel": "bookmark"}]}, {"uuid": "3731d565-e089-41b1-9cae-f65bae069c65", "instance_uuid": "2a3457f1-6d0f-4bf0-8cba-966598fe3711", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/3731d565-e089-41b1-9cae-f65bae069c65", "rel": "self"}, {"href": "http://localhost/nodes/3731d565-e089-41b1-9cae-f65bae069c65", "rel": "bookmark"}]}, {"uuid": "a797569d-e8b6-445c-ab46-5fec22cb17ce", "instance_uuid": "8afbfc2f-9ab2-4fa9-90b0-e917cdfac57b", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a797569d-e8b6-445c-ab46-5fec22cb17ce", "rel": "self"}, {"href": "http://localhost/nodes/a797569d-e8b6-445c-ab46-5fec22cb17ce", "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-a9543f35-ce62-463e-9336-c36bc721d589 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "903dd0e5-26eb-44dc-91c9-c41ddf29b981", "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-51894d17-107a-45f0-aab6-273a60746f1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "903dd0e5-26eb-44dc-91c9-c41ddf29b981", "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.037881s] ... 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-f7bcdf51-7a29-482d-9f6c-bec919e290dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.214435s] ... 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-93133dde-fb4c-4451-a1a6-e3088daace83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.670832+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-460491df-77c4-4264-9cff-1782777b207a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.670832+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_node.TestListNodes.test_many [0.053696s] ... 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-debfc8d6-1450-4b10-ad76-a48a8d525494 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "e06802d4-b9d0-4f73-b893-98f4177e6176", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e06802d4-b9d0-4f73-b893-98f4177e6176", "rel": "self"}, {"href": "http://localhost/nodes/e06802d4-b9d0-4f73-b893-98f4177e6176", "rel": "bookmark"}]}, {"uuid": "b0220650-89c6-4fe0-924b-56a067885eaa", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/b0220650-89c6-4fe0-924b-56a067885eaa", "rel": "self"}, {"href": "http://localhost/nodes/b0220650-89c6-4fe0-924b-56a067885eaa", "rel": "bookmark"}]}, {"uuid": "17c1cb0f-0a05-4c62-8799-06695c81b5e0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/17c1cb0f-0a05-4c62-8799-06695c81b5e0", "rel": "self"}, {"href": "http://localhost/nodes/17c1cb0f-0a05-4c62-8799-06695c81b5e0", "rel": "bookmark"}]}, {"uuid": "a809a93d-a5af-40eb-b677-03c5c28a0b67", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a809a93d-a5af-40eb-b677-03c5c28a0b67", "rel": "self"}, {"href": "http://localhost/nodes/a809a93d-a5af-40eb-b677-03c5c28a0b67", "rel": "bookmark"}]}, {"uuid": "06ef4431-3314-4c66-9462-6be3a84f632c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/06ef4431-3314-4c66-9462-6be3a84f632c", "rel": "self"}, {"href": "http://localhost/nodes/06ef4431-3314-4c66-9462-6be3a84f632c", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.229802s] ... 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-568386a8-238d-4977-87fd-e304dfced761 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.612974+00:00", "updated_at": "2024-03-18T18:15:54.792119+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.036333s] ... 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-59255eb8-6d51-4047-b96a-0e73a5a4a2fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.062187s] ... 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-7c1d3eb6-c1ff-4356-96e2-a29caa39aae4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "a9aa1a3a-9cd2-4033-82ad-6c2b7d7ac6cf", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-0", "links": [{"href": "http://localhost/v1/nodes/a9aa1a3a-9cd2-4033-82ad-6c2b7d7ac6cf", "rel": "self"}, {"href": "http://localhost/nodes/a9aa1a3a-9cd2-4033-82ad-6c2b7d7ac6cf", "rel": "bookmark"}]}, {"uuid": "f89aa218-ba0c-4c06-82f2-fd49bc820c74", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-1", "links": [{"href": "http://localhost/v1/nodes/f89aa218-ba0c-4c06-82f2-fd49bc820c74", "rel": "self"}, {"href": "http://localhost/nodes/f89aa218-ba0c-4c06-82f2-fd49bc820c74", "rel": "bookmark"}]}, {"uuid": "76c91deb-e88c-48fb-9901-24be849309b2", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-2", "links": [{"href": "http://localhost/v1/nodes/76c91deb-e88c-48fb-9901-24be849309b2", "rel": "self"}, {"href": "http://localhost/nodes/76c91deb-e88c-48fb-9901-24be849309b2", "rel": "bookmark"}]}, {"uuid": "0439332c-08b0-47c7-bc65-631cb51f172a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-3", "links": [{"href": "http://localhost/v1/nodes/0439332c-08b0-47c7-bc65-631cb51f172a", "rel": "self"}, {"href": "http://localhost/nodes/0439332c-08b0-47c7-bc65-631cb51f172a", "rel": "bookmark"}]}, {"uuid": "bd535dfc-36e5-424a-80b9-fdef5c1f1c83", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-4", "links": [{"href": "http://localhost/v1/nodes/bd535dfc-36e5-424a-80b9-fdef5c1f1c83", "rel": "self"}, {"href": "http://localhost/nodes/bd535dfc-36e5-424a-80b9-fdef5c1f1c83", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.032493s] ... 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-337b6037-908e-4fcf-b8b5-73bc304099e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.075592s] ... 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-f376cd06-c8f0-4e31-95f0-71e2a80f1f52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "79764d10-b9e2-4e80-bc17-e0534a3a72be", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/79764d10-b9e2-4e80-bc17-e0534a3a72be", "rel": "self"}, {"href": "http://localhost/nodes/79764d10-b9e2-4e80-bc17-e0534a3a72be", "rel": "bookmark"}]}, {"uuid": "935d7e11-c081-4fb1-b261-b6d38e497aaf", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/935d7e11-c081-4fb1-b261-b6d38e497aaf", "rel": "self"}, {"href": "http://localhost/nodes/935d7e11-c081-4fb1-b261-b6d38e497aaf", "rel": "bookmark"}]}, {"uuid": "d1d9ec54-db32-4756-8433-9f5c5b662b13", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/d1d9ec54-db32-4756-8433-9f5c5b662b13", "rel": "self"}, {"href": "http://localhost/nodes/d1d9ec54-db32-4756-8433-9f5c5b662b13", "rel": "bookmark"}]}, {"uuid": "c092d77a-5785-4548-a851-7b3c5602947b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c092d77a-5785-4548-a851-7b3c5602947b", "rel": "self"}, {"href": "http://localhost/nodes/c092d77a-5785-4548-a851-7b3c5602947b", "rel": "bookmark"}]}, {"uuid": "38c467c3-df00-472d-b7bc-26ae63085eb0", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38c467c3-df00-472d-b7bc-26ae63085eb0", "rel": "self"}, {"href": "http://localhost/nodes/38c467c3-df00-472d-b7bc-26ae63085eb0", "rel": "bookmark"}]}, {"uuid": "7c325cde-8616-4df2-9057-e415c9cb8559", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/7c325cde-8616-4df2-9057-e415c9cb8559", "rel": "self"}, {"href": "http://localhost/nodes/7c325cde-8616-4df2-9057-e415c9cb8559", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.215511s] ... 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-52987d59-6851-40a5-bc67-e7ad54706685 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.030450s] ... 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-05ba8de4-8c57-4d46-8f8f-c185ef3cd31b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestListPorts.test_hide_fields_in_newer_versions_ovn_vtep [0.255689s] ... 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-6e33d478-639e-45fc-a9b6-4c4ab3273315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.831922+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-ccd5bb37-28af-4bad-b8cc-4836b9b77fa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:54.831922+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-13a4b320-32e4-4ce7-bcc6-f63cb8b549e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:54.831922+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.054838s] ... 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-e2bc7c67-3c5d-43b5-aecb-36a5339ffdda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:55.062610+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-487c0ba9-6541-436b-ba77-79c55ac9da4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.062610+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.053166s] ... 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-cb503330-27a9-48a2-a3c8-162132940c92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "cbc791f1-b1cd-42aa-a4c3-a8b50708ef77", "instance_uuid": "f49333bd-a551-4c6f-a437-f13afbf8cfa6", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/cbc791f1-b1cd-42aa-a4c3-a8b50708ef77", "rel": "self"}, {"href": "http://localhost/nodes/cbc791f1-b1cd-42aa-a4c3-a8b50708ef77", "rel": "bookmark"}]}, {"uuid": "1f1e05cc-d053-411e-a56b-3a764c9ae29b", "instance_uuid": "5fb1efd6-1dad-4560-979f-c229b72036b1", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1f1e05cc-d053-411e-a56b-3a764c9ae29b", "rel": "self"}, {"href": "http://localhost/nodes/1f1e05cc-d053-411e-a56b-3a764c9ae29b", "rel": "bookmark"}]}, {"uuid": "24a67a74-4e75-46ee-aa27-1814e15be8d4", "instance_uuid": "15251630-5db5-47db-b12b-b7f394355337", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/24a67a74-4e75-46ee-aa27-1814e15be8d4", "rel": "self"}, {"href": "http://localhost/nodes/24a67a74-4e75-46ee-aa27-1814e15be8d4", "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=24a67a74-4e75-46ee-aa27-1814e15be8d4"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.056942s] ... 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-f18a2492-2aa4-4ea3-a4b6-6f88ac1bcc98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d3ebc62c-6e62-4d54-aa6c-1206856c8d43", "created_at": "2024-03-18T18:15:55.169834+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": "d0f568b7-3e9f-4d0f-9cfa-8dc8bd0e96a5", "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/d3ebc62c-6e62-4d54-aa6c-1206856c8d43", "rel": "self"}, {"href": "http://localhost/nodes/d3ebc62c-6e62-4d54-aa6c-1206856c8d43", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d3ebc62c-6e62-4d54-aa6c-1206856c8d43/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3ebc62c-6e62-4d54-aa6c-1206856c8d43/ports", "rel": "bookmark"}]}, {"uuid": "e3c122db-52f0-48f5-a5b9-cb28b63c9792", "created_at": "2024-03-18T18:15:55.173813+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": "e3574803-39e3-45f4-a518-b0889972ac22", "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/e3c122db-52f0-48f5-a5b9-cb28b63c9792", "rel": "self"}, {"href": "http://localhost/nodes/e3c122db-52f0-48f5-a5b9-cb28b63c9792", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e3c122db-52f0-48f5-a5b9-cb28b63c9792/ports", "rel": "self"}, {"href": "http://localhost/nodes/e3c122db-52f0-48f5-a5b9-cb28b63c9792/ports", "rel": "bookmark"}]}, {"uuid": "484cdd68-b3b2-4eac-a4a9-dba62fd4e740", "created_at": "2024-03-18T18:15:55.175953+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": "a470944e-f315-40bf-b219-d24a22ac4789", "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/484cdd68-b3b2-4eac-a4a9-dba62fd4e740", "rel": "self"}, {"href": "http://localhost/nodes/484cdd68-b3b2-4eac-a4a9-dba62fd4e740", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/484cdd68-b3b2-4eac-a4a9-dba62fd4e740/ports", "rel": "self"}, {"href": "http://localhost/nodes/484cdd68-b3b2-4eac-a4a9-dba62fd4e740/ports", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=484cdd68-b3b2-4eac-a4a9-dba62fd4e740"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.196391s] ... 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-df2cb501-704d-4424-bffa-42771f1321a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.123606+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-cb9516ca-f2cc-48af-ada1-fc6c5a905e40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.123606+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.045378s] ... 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-2ea74b8c-4200-4ea5-9aee-f2bcd9026f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.221853+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.236795s] ... 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-e4ce05bd-82fc-493e-b4ec-12d94a89ca3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.067767s] ... 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-d00bf1ce-580b-468c-8cdd-3b135c99be4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.274394+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-86eee123-83cf-416a-a39e-9fe67a0d4856 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.274394+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_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.706843s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/87d82452-c9d4-4186-be48-8932c9bb5b11 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-591375b7-a2e1-448b-97f0-501005186b76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "87d82452-c9d4-4186-be48-8932c9bb5b11", "created_at": "2024-03-18T18:15:54.676697+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/87d82452-c9d4-4186-be48-8932c9bb5b11", "rel": "self"}, {"href": "http://localhost/nodes/87d82452-c9d4-4186-be48-8932c9bb5b11", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/87d82452-c9d4-4186-be48-8932c9bb5b11/ports", "rel": "self"}, {"href": "http://localhost/nodes/87d82452-c9d4-4186-be48-8932c9bb5b11/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/743285dc-9eb7-42ba-bd1c-0ae328af615a 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-d267ada7-d759-4a05-9ffb-40249be0669d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "743285dc-9eb7-42ba-bd1c-0ae328af615a", "created_at": "2024-03-18T18:15:54.746958+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/743285dc-9eb7-42ba-bd1c-0ae328af615a", "rel": "self"}, {"href": "http://localhost/nodes/743285dc-9eb7-42ba-bd1c-0ae328af615a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/743285dc-9eb7-42ba-bd1c-0ae328af615a/ports", "rel": "self"}, {"href": "http://localhost/nodes/743285dc-9eb7-42ba-bd1c-0ae328af615a/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/8d35721e-5433-47f4-be68-d06d2f2b91fa 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-53359641-532a-482f-a936-f710ea0aabf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "8d35721e-5433-47f4-be68-d06d2f2b91fa", "created_at": "2024-03-18T18:15:54.818680+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/8d35721e-5433-47f4-be68-d06d2f2b91fa", "rel": "self"}, {"href": "http://localhost/nodes/8d35721e-5433-47f4-be68-d06d2f2b91fa", "rel": "bookmark"} DEBUG util.py:445: ], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8d35721e-5433-47f4-be68-d06d2f2b91fa/ports", "rel": "self"}, {"href": "http://localhost/nodes/8d35721e-5433-47f4-be68-d06d2f2b91fa/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/4a181cb7-b303-46b8-8a66-53f0b8f72fa7 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-4d92898d-49e8-4f8a-9eaf-4075e46cfb97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "4a181cb7-b303-46b8-8a66-53f0b8f72fa7", "created_at": "2024-03-18T18:15:54.853102+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/4a181cb7-b303-46b8-8a66-53f0b8f72fa7", "rel": "self"}, {"href": "http://localhost/nodes/4a181cb7-b303-46b8-8a66-53f0b8f72fa7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4a181cb7-b303-46b8-8a66-53f0b8f72fa7/ports", "rel": "self"}, {"href": "http://localhost/nodes/4a181cb7-b303-46b8-8a66-53f0b8f72fa7/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/7e914086-9455-4c73-85a9-e8dfc052e843 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-cc6d743a-1cd9-4f93-9081-9a300a9764dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "7e914086-9455-4c73-85a9-e8dfc052e843", "created_at": "2024-03-18T18:15:54.886636+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/7e914086-9455-4c73-85a9-e8dfc052e843", "rel": "self"}, {"href": "http://localhost/nodes/7e914086-9455-4c73-85a9-e8dfc052e843", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7e914086-9455-4c73-85a9-e8dfc052e843/ports", "rel": "self"}, {"href": "http://localhost/nodes/7e914086-9455-4c73-85a9-e8dfc052e843/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/ed79144c-9f21-40ed-8dba-5c794441c851 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-6f7ca9d0-ee4a-451f-9b26-1d9e199ab2ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ed79144c-9f21-40ed-8dba-5c794441c851", "created_at": "2024-03-18T18:15:54.964149+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/ed79144c-9f21-40ed-8dba-5c794441c851", "rel": "self"}, {"href": "http://localhost/nodes/ed79144c-9f21-40ed-8dba-5c794441c851", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ed79144c-9f21-40ed-8dba-5c794441c851/ports", "rel": "self"}, {"href": "http://localhost/nodes/ed79144c-9f21-40ed-8dba-5c794441c851/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/7f504832-efaa-4cfc-859a-933b10c1ff7e 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-a41613ff-d577-46ee-bc97-8e24985d3eae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "7f504832-efaa-4cfc-859a-933b10c1ff7e", "created_at": "2024-03-18T18:15:55.020403+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/7f504832-efaa-4cfc-859a-933b10c1ff7e", "rel": "self"}, {"href": "http://localhost/nodes/7f504832-efaa-4cfc-859a-933b10c1ff7e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7f504832-efaa-4cfc-859a-933b10c1ff7e/ports", "rel": "self"}, {"href": "http://localhost/nodes/7f504832-efaa-4cfc-859a-933b10c1ff7e/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/6731c295-89ff-4289-aa86-909212c47949 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-7cd8d591-669f-4bbf-a129-e330613672f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "6731c295-89ff-4289-aa86-909212c47949", "created_at": "2024-03-18T18:15:55.077292+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/6731c295-89ff-4289-aa86-909212c47949", "rel": "self"}, {"href": "http://localhost/nodes/6731c295-89ff-4289-aa86-909212c47949", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6731c295-89ff-4289-aa86-909212c47949/ports", "rel": "self"}, {"href": "http://localhost/nodes/6731c295-89ff-4289-aa86-909212c47949/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/ae569762-d286-40fb-b690-c0ac0f878e21 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-35df633a-0c48-40df-b967-e61802477f76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "ae569762-d286-40fb-b690-c0ac0f878e21", "created_at": "2024-03-18T18:15:55.124641+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/ae569762-d286-40fb-b690-c0ac0f878e21", "rel": "self"}, {"href": "http://localhost/nodes/ae569762-d286-40fb-b690-c0ac0f878e21", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ae569762-d286-40fb-b690-c0ac0f878e21/ports", "rel": "self"}, {"href": "http://localhost/nodes/ae569762-d286-40fb-b690-c0ac0f878e21/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/8e0d09e4-31bb-4aec-acd2-e44b2a09dcfc 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-a5fa5ef4-70ea-47c6-9c85-682bd82dfceb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "8e0d09e4-31bb-4aec-acd2-e44b2a09dcfc", "created_at": "2024-03-18T18:15:55.164347+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/8e0d09e4-31bb-4aec-acd2-e44b2a09dcfc", "rel": "self"}, {"href": "http://localhost/nodes/8e0d09e4-31bb-4aec-acd2-e44b2a09dcfc", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8e0d09e4-31bb-4aec-acd2-e44b2a09dcfc/ports", "rel": "self"}, {"href": "http://localhost/nodes/8e0d09e4-31bb-4aec-acd2-e44b2a09dcfc/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/5205cbc8-a903-4083-93ee-9544d7e05cd9 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-ad08fe07-8d54-4841-b595-c784f42c8807 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "5205cbc8-a903-4083-93ee-9544d7e05cd9", "created_at": "2024-03-18T18:15:55.196416+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/5205cbc8-a903-4083-93ee-9544d7e05cd9", "rel": "self"}, {"href": "http://localhost/nodes/5205cbc8-a903-4083-93ee-9544d7e05cd9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5205cbc8-a903-4083-93ee-9544d7e05cd9/ports", "rel": "self"}, {"href": "http://localhost/nodes/5205cbc8-a903-4083-93ee-9544d7e05cd9/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/1a78e0be-a318-4373-a6a5-56c214634517 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-c6ee652b-a009-44ef-b756-a82e26c750de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1a78e0be-a318-4373-a6a5-56c214634517", "created_at": "2024-03-18T18:15:55.247721+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/1a78e0be-a318-4373-a6a5-56c214634517", "rel": "self"}, {"href": "http://localhost/nodes/1a78e0be-a318-4373-a6a5-56c214634517", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1a78e0be-a318-4373-a6a5-56c214634517/ports", "rel": "self"}, {"href": "http://localhost/nodes/1a78e0be-a318-4373-a6a5-56c214634517/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/0508c4c6-fcf8-4c2d-8367-41466b26f557 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-d5101363-2fd4-4ac0-a4cb-1b5283727855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "0508c4c6-fcf8-4c2d-8367-41466b26f557", "created_at": "2024-03-18T18:15:55.303951+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/0508c4c6-fcf8-4c2d-8367-41466b26f557", "rel": "self"}, {"href": "http://localhost/nodes/0508c4c6-fcf8-4c2d-8367-41466b26f557", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0508c4c6-fcf8-4c2d-8367-41466b26f557/ports", "rel": "self"}, {"href": "http://localhost/nodes/0508c4c6-fcf8-4c2d-8367-41466b26f557/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.048941s] ... 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-2b4ac5ff-c335-4da6-a11e-f809dd210c64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.342747+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.164799s] ... 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-ba20c98f-3e92-4881-ba86-2b981bcd8335 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.363992+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_node.TestListNodes.test_node_automated_clean_true_field [0.078591s] ... 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-db1356c0-00cd-455c-a9c0-8fc7b830f6a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.417094+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.104285s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/3baa41af-3676-446a-929a-6772c9889864 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-dbc847cb-e79a-4236-bc5d-975256254c24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "3baa41af-3676-446a-929a-6772c9889864", "created_at": "2024-03-18T18:15:55.390942+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/3baa41af-3676-446a-929a-6772c9889864", "rel": "self"}, {"href": "http://localhost/nodes/3baa41af-3676-446a-929a-6772c9889864", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3baa41af-3676-446a-929a-6772c9889864/ports", "rel": "self"}, {"href": "http://localhost/nodes/3baa41af-3676-446a-929a-6772c9889864/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3baa41af-3676-446a-929a-6772c9889864/states", "rel": "self"}, {"href": "http://localhost/nodes/3baa41af-3676-446a-929a-6772c9889864/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3baa41af-3676-446a-929a-6772c9889864/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3baa41af-3676-446a-929a-6772c9889864/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3baa41af-3676-446a-929a-6772c9889864/volume", "rel": "self"}, {"href": "http://localhost/nodes/3baa41af-3676-446a-929a-6772c9889864/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.056966s] ... 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-82bac45a-f3be-48cf-9ca5-1dd7a44ebeb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.473408+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-fccd55b4-6abd-42b1-9569-089552bb2f01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.473408+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.269208s] ... 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': '6a6a5f26-06e5-4430-a74b-152f55d6953b', 'op': 'replace'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72dcca97-0ece-4956-b58e-0837001dfc9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.319432+00:00", "updated_at": "2024-03-18T18:15:55.515794+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": "6a6a5f26-06e5-4430-a74b-152f55d6953b"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.057369s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8eb332a0-2a52-4ab4-b57a-4b3eacff4539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "35bf86b3-84b5-4179-b14f-1f36ffea3154", "created_at": "2024-03-18T18:15:55.529432+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/35bf86b3-84b5-4179-b14f-1f36ffea3154", "rel": "self"}, {"href": "http://localhost/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/ports", "rel": "self"}, {"href": "http://localhost/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/states", "rel": "self"}, {"href": "http://localhost/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/volume", "rel": "self"}, {"href": "http://localhost/nodes/35bf86b3-84b5-4179-b14f-1f36ffea3154/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6d229ac-c232-4fb2-9567-aa972b509f2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe", "created_at": "2024-03-18T18:15:55.542956+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/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe", "rel": "self"}, {"href": "http://localhost/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/ports", "rel": "self"}, {"href": "http://localhost/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/states", "rel": "self"}, {"href": "http://localhost/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/volume", "rel": "self"}, {"href": "http://localhost/nodes/7cb12e7a-e02a-4cb4-b26f-93f80e9f9abe/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.061168s] ... 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-bc93e911-c868-4163-8f50-daebd6271064 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.588314+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-2b980115-fb22-46a3-b9a4-5aacfb7a841c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.588314+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.038681s] ... 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-210967ce-dd25-4d69-a044-a5a94a6e0e02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.641101+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.271589s] ... 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-8fb0a1e1-704f-40d0-98a0-b6eed1b9d992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.531595+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-bde8d9cb-8603-4a32-a152-0c87e410fc56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.531595+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.254220s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/571d3378-8a3e-4d38-844b-1b4e2a696a39 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-9d11bef7-2cc8-4dce-8bdf-6ab855140ba3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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 \\\"571d3378-8a3e-4d38-844b-1b4e2a696a39\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.045499s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?instance_uuid=8723e819-dc1e-42f9-9b92-440997a71ce1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-158a5dd8-9401-4d40-a138-1d1fc0a398ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "672478da-6df8-43a6-9f24-9f4d25b279fc", "instance_uuid": "8723e819-dc1e-42f9-9b92-440997a71ce1", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/672478da-6df8-43a6-9f24-9f4d25b279fc", "rel": "self"}, {"href": "http://localhost/nodes/672478da-6df8-43a6-9f24-9f4d25b279fc", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.031531s] ... 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-e8172a33-ebff-46db-bc12-bc7ef84f2098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.039836s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes?instance_uuid=dfc68b78-3e70-4f1c-a990-43f12fc8cf6c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3d7eb55-2a74-4fd2-af7b-c2b25323ad42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.183491s] ... 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': 'c382d487-097d-4933-9e41-7e0596c5be49', 'op': 'replace'}] GOT Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1645e4ab-1833-493d-99ea-237fd99aafa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.050774s] ... 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-641bd89a-0602-455c-855c-00264b85f195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.804437+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-b48e477c-bfa3-482d-9109-38e0eede330b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.804437+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.062921s] ... 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-045f7198-e423-4735-a767-fa224402c5e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.858767+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-0074a0bc-b3aa-4ea2-8323-b9990b73338a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.858767+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.269864s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78d6b9a4-ca47-4dba-b4a4-60f0e54f527a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "created_at": "2024-03-18T18:15:55.779460+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/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "rel": "self"}, {"href": "http://localhost/ports/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e31d194-cd57-401f-b768-7ef077f1d8ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "created_at": "2024-03-18T18:15:55.779460+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/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "rel": "self"}, {"href": "http://localhost/ports/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "rel": "bookmark"}]} DEBUG util.py:445: GET /ports/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42ba0ce7-ded0-4e33-91f3-e11701ba6f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "created_at": "2024-03-18T18:15:55.779460+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/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "rel": "self"}, {"href": "http://localhost/ports/a3da4ab0-e560-4c9e-96d0-e580dd7cc55c", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.061074s] ... 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-fa666430-1d86-4777-b50a-4f3e3083b5da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.921903+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-55f7dfee-2573-4435-a547-ef61387d46e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.921903+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.039876s] ... 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-b72cf97c-258c-41aa-9396-7beed071937e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.975883+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_port.TestPatch.test_replace_portgroup_uuid_remove [0.237398s] ... 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': 'aaf38090-bbcb-4429-b31e-f02af72925e4', 'op': 'remove'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d6f0532b-a91f-402e-8349-4a95bae6e58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:55.869838+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_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.050824s] ... 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-d40dfa34-80db-4118-8f63-18541d89a323 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.017353+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-a815892a-e418-4758-b8eb-524b4cfc1eac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.017353+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.158593s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/ports/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23e653e1-cc78-4bd7-accf-e2c28cd9fad8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "created_at": "2024-03-18T18:15:56.035446+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/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "rel": "self"}, {"href": "http://foo/ports/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/ports/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-056dc2c3-9c58-477e-b62b-9cdd9de54fb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "created_at": "2024-03-18T18:15:56.035446+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/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "rel": "self"}, {"href": "http://foo/ports/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "rel": "bookmark"}]} DEBUG util.py:445: GET /ports/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-674dc948-ca5c-4b65-aa61-ebf9f6d8b16f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "created_at": "2024-03-18T18:15:56.035446+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/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "rel": "self"}, {"href": "http://foo/ports/3ec79bb1-f3cd-4191-a9e1-1e70ef2d9c26", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.432907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-2df7513b-ab97-4647-a111-354699c65ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-b234526b-5e74-4154-b298-4aac0064b3a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-769ac402-5bb9-4603-990c-204936043255 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel" DEBUG util.py:445: : "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-b1b5dd4e-48cd-4cff-9001-a91e46a678cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-eff75399-0756-4b68-8cc7-76376327d837 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-b45b9f97-d4bd-4076-bbe7-32f8c6c098e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-484491de-0889-4fed-8ab7-4d393f225967 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/node DEBUG util.py:445: s/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH /v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db 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-d48659fd-48aa-4cac-9978-362e985667c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "created_at": "2024-03-18T18:15:55.765702+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "self"}, {"href": "http://localhost/nodes/be83d85c-a6a7-4f5d-bf47-8d74e39bb9db/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.138624s] ... 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-1e1b6219-479c-41dc-9822-5d5312c7d06c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.115200s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/04685fdd-570f-4942-933e-104f1697bf01 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-472ed7ab-ec0c-4d52-8a1b-8616925575be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/04685fdd-570f-4942-933e-104f1697bf01 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-3a4d3e93-89c2-4445-adca-90bd4969b855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/04685fdd-570f-4942-933e-104f1697bf01 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-802d7c5b-b744-4e3f-b6b2-8d87782f33b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/04685fdd-570f-4942-933e-104f1697bf01 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-04118bc9-4542-4c72-aedc-ef148603bb81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/04685fdd-570f-4942-933e-104f1697bf01 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-b430fe94-aaa7-4d30-bd5b-ec9b97c91127 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/04685fdd-570f-4942-933e-104f1697bf01 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-d706f0c2-2048-4d01-a28a-a79f647cb87c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/04685fdd-570f-4942-933e-104f1697bf01 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-a4efd930-31ac-4838-a534-cac3d372c08a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/04685fdd-570f-4942-933e-104f1697bf01 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-a51e567d-9a1d-4041-9f50-8f3646cf67bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.265803s] ... 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': '2e271a39-ee84-47cc-98b7-07d364ec1279', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'be5b2c44-6b3c-4a45-ba50-9e142cb21e29', 'op': 'add'}] GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9d02ca0-f7ff-4c0d-8be9-694fe52f9d27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.115266+00:00", "updated_at": "2024-03-18T18:15:56.260086+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": "be5b2c44-6b3c-4a45-ba50-9e142cb21e29"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.099322s] ... 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-58b8bd56-9742-4a23-bc02-db5d8b8236e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.307526s] ... 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-9c11f0fa-56b6-44a2-b84d-56e2e47f5f56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.290693+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-6fbeb5ac-984f-4e5d-a864-4d74a3183acf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.290693+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.117556s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/9e05771d-35a0-45d4-8724-e02c52f99491 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-17cf3f5f-4fb8-4ded-8e24-c0fea6a0d5f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "9e05771d-35a0-45d4-8724-e02c52f99491", "created_at": "2024-03-18T18:15:56.307886+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/9e05771d-35a0-45d4-8724-e02c52f99491", "rel": "self"}, {"href": "http://localhost/nodes/9e05771d-35a0-45d4-8724-e02c52f99491", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/ports", "rel": "self"}, {"href": "http://localhost/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/states", "rel": "self"}, {"href": "http://localhost/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/volume", "rel": "self"}, {"href": "http://localhost/nodes/9e05771d-35a0-45d4-8724-e02c52f99491/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.060460s] ... 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-b0191b3a-dbb1-486d-9cac-955b5a77071a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.391323+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.049199s] ... 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-7bd38171-cc51-45ce-8150-14e9c3242ea3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.436497+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-f069c40e-f01c-4f2b-9a8a-7a5210cb4e27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.436497+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.086151s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/57f5908a-b3ea-4df2-a0dd-ef314d77a614 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-88454283-b34f-4241-88a2-98ed299da12c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.196600s] ... 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-ec5eaa17-8c53-42de-9515-be6bcadb53ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:56.352539+00:00", "updated_at": "2024-03-18T18:15:56.483455+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_node.TestListNodes.test_node_lessee_null_field [0.053930s] ... 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-baa09198-83bf-4da3-8055-92af0bd23a54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.494570+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.193777s] ... 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-2be6b5fb-9560-4c9a-82fc-a6dde38798e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3120211b-b9c8-4707-83ee-1eb49588ace0", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/3120211b-b9c8-4707-83ee-1eb49588ace0", "rel": "self"}, {"href": "http://localhost/ports/3120211b-b9c8-4707-83ee-1eb49588ace0", "rel": "bookmark"}]}, {"uuid": "df706134-9920-444f-8988-3783473039c6", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/df706134-9920-444f-8988-3783473039c6", "rel": "self"}, {"href": "http://localhost/ports/df706134-9920-444f-8988-3783473039c6", "rel": "bookmark"}]}, {"uuid": "8dcc81d8-0d9e-45d7-9fc9-f8fc923e8412", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/8dcc81d8-0d9e-45d7-9fc9-f8fc923e8412", "rel": "self"}, {"href": "http://localhost/ports/8dcc81d8-0d9e-45d7-9fc9-f8fc923e8412", "rel": "bookmark"}]}, {"uuid": "9cded9b4-6400-4c62-836b-32d63e3b0dcd", "address": "52:54:00:cf:2d:33", "links": [{"href": "http://localhost/v1/ports/9cded9b4-6400-4c62-836b-32d63e3b0dcd", "rel": "self"}, {"href": "http://localhost/ports/9cded9b4-6400-4c62-836b-32d63e3b0dcd", "rel": "bookmark"}]}, {"uuid": "b9aa2f7f-790a-4484-be9d-4aa8a5c60bab", "address": "52:54:00:cf:2d:34", "links": [{"href": "http://localhost/v1/ports/b9aa2f7f-790a-4484-be9d-4aa8a5c60bab", "rel": "self"}, {"href": "http://localhost/ports/b9aa2f7f-790a-4484-be9d-4aa8a5c60bab", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.039416s] ... 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-217f3b1b-c7f0-4d43-b45f-eb738ff5123b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.541124+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.039424s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/0391a143-6a9c-469a-a37a-e813162a835e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11c9b0a7-b992-430c-a43c-601a834fbc4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "0391a143-6a9c-469a-a37a-e813162a835e", "created_at": "2024-03-18T18:15:56.581522+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/0391a143-6a9c-469a-a37a-e813162a835e", "rel": "self"}, {"href": "http://localhost/nodes/0391a143-6a9c-469a-a37a-e813162a835e", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0391a143-6a9c-469a-a37a-e813162a835e/ports", "rel": "self"}, {"href": "http://localhost/nodes/0391a143-6a9c-469a-a37a-e813162a835e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0391a143-6a9c-469a-a37a-e813162a835e/states", "rel": "self"}, {"href DEBUG util.py:445: ": "http://localhost/nodes/0391a143-6a9c-469a-a37a-e813162a835e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0391a143-6a9c-469a-a37a-e813162a835e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0391a143-6a9c-469a-a37a-e813162a835e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0391a143-6a9c-469a-a37a-e813162a835e/volume", "rel": "self"}, {"href": "http://localhost/nodes/0391a143-6a9c-469a-a37a-e813162a835e/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.138189s] ... 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-620be280-76ce-4fee-8b5f-77f503f7220a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_network_data_hidden_in_lower_version [0.052208s] ... 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-c16d582b-d232-4bc5-80c7-c4ca347b147e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.623405+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-32751bf7-f5f1-403d-9134-31027b6c6cb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.623405+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.130596s] ... 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-3279b37d-1591-49dc-80b2-7f19fe3a752e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9986ae3b-1dc1-488c-aa9a-0b6efcb454bd", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/9986ae3b-1dc1-488c-aa9a-0b6efcb454bd", "rel": "self"}, {"href": "http://localhost/ports/9986ae3b-1dc1-488c-aa9a-0b6efcb454bd", "rel": "bookmark"}]}, {"uuid": "bc5c7f9c-53c1-419d-a2ca-765e2be6f626", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/bc5c7f9c-53c1-419d-a2ca-765e2be6f626", "rel": "self"}, {"href": "http://localhost/ports/bc5c7f9c-53c1-419d-a2ca-765e2be6f626", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.062315s] ... 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-9f25f678-dbaf-4c66-9841-c3a3f5cfe6a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.686948+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-9031fdb1-bd1c-41b9-968e-8493380d748c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.686948+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.043340s] ... 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-6891283d-5fa8-412c-a7e8-dff4b1b8c530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.736566+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.316022s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25 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-01f9b603-cf62-46e0-a7a9-d17d57ca1076 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25", "created_at": "2024-03-18T18:15:56.543191+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/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25", "rel": "self"}, {"href": "http://localhost/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25/ports", "rel": "self"}, {"href": "http://localhost/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c8eca5ca-04b9-4fd0-9afe DEBUG util.py:445: -41c9f37a4f25/states", "rel": "self"}, {"href": "http://localhost/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25/volume", "rel": "self"}, {"href": "http://localhost/nodes/c8eca5ca-04b9-4fd0-9afe-41c9f37a4f25/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.086502s] ... 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-ab2fe5e8-db4d-4d61-ab39-1591ce8a2d43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.041264s] ... 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-7903a0fc-5727-4429-8239-691de5fecfc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.783003+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_port.TestPatch.test_update_address_invalid_format [0.192031s] ... 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-8cd2bf64-162f-45ab-b191-2cf0e95df27f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestListNodes.test_node_protected [0.045769s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4e9663b-6af8-4960-85b8-d51aa3151718 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "400ab174-acaf-4609-9e30-aa272ce5eb36", "created_at": "2024-03-18T18:15:56.821869+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/400ab174-acaf-4609-9e30-aa272ce5eb36", "rel": "self"}, {"href": "http://localhost/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/ports", "rel": "self"}, {"href": "http://localhost/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/states", "rel": "self"}, {"href": "http://localhost/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/volume", "rel": "self"}, {"href": "http://localhost/nodes/400ab174-acaf-4609-9e30-aa272ce5eb36/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/8a1a752a-a061-4ce4-9155-992179bee75c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c71c5bc7-5269-4c86-b7f2-af08f5a540db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8a1a752a-a061-4ce4-9155-992179bee75c", "created_at": "2024-03-18T18:15:56.833132+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/8a1a752a-a061-4ce4-9155-992179bee75c", "rel": "self"}, {"href": "http://localhost/nodes/8a1a752a-a061-4ce4-9155-992179bee75c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/ports", "rel": "self"}, {"href": "http://localhost/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/states", "rel": "self"}, {"href": "http://localhost/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/volume", "rel": "self"}, {"href": "http://localhost/nodes/8a1a752a-a061-4ce4-9155-992179bee75c/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.109639s] ... 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-62db9cd7-94d9-43a3-8c92-8be9e6284fb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "34d044aa-3369-4b05-9196-548437506af7", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/34d044aa-3369-4b05-9196-548437506af7", "rel": "self"}, {"href": "http://localhost/ports/34d044aa-3369-4b05-9196-548437506af7", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.059589s] ... 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-ebf27da3-c446-4223-a2cd-eb96b98122c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.873637+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-69a65d12-af4f-4aa0-ba26-12d17019161a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.873637+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_port.TestPatch.test_update_byaddress_not_allowed [0.093585s] ... 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-a2f996ad-33a8-4904-86b2-69dbf745eb07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.061825s] ... 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-dc289f43-094f-4a36-9c98-a8835f4e5c29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.053911s] ... 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-2b88c7ad-d691-4a1a-9002-3341d9596c91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.940652+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-c04c54f8-a807-4538-827f-8b8d048b6f4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.940652+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.222066s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/85db6780-8050-4280-ab85-d1b4591ddd09 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-49ffc41e-1221-4c02-b36d-17faf5fbb9a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "85db6780-8050-4280-ab85-d1b4591ddd09", "created_at": "2024-03-18T18:15:56.940947+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/85db6780-8050-4280-ab85-d1b4591ddd09", "rel": "self"}, {"href": "http://localhost/nodes/85db6780-8050-4280-ab85-d1b4591ddd09", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/ports", "rel": "self"}, {"href": "http://localhost/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/states", "rel": "self"}, {"href": "http://localhost/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/volume", "rel": "self"}, {"href": "http://localhost/nodes/85db6780-8050-4280-ab85-d1b4591ddd09/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.040375s] ... 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-87c90201-4f1b-4e9c-abf4-1ee08e148c69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:56.986707+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_port.TestListPorts.test_port_by_address_non_admin [0.098895s] ... 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-ea5201b1-ad25-416c-8d0f-79636b6e853f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "30b7ecdc-d7db-4ec1-b3b9-1d5859f316fb", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/30b7ecdc-d7db-4ec1-b3b9-1d5859f316fb", "rel": "self"}, {"href": "http://localhost/ports/30b7ecdc-d7db-4ec1-b3b9-1d5859f316fb", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.058423s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fee154d4-38df-4098-9471-acafc34f5481 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "c756cbc8-29cc-4245-900d-6f8016dc269c", "created_at": "2024-03-18T18:15:57.031825+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/c756cbc8-29cc-4245-900d-6f8016dc269c", "rel": "self"}, {"href": "http://localhost/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/ports", "rel": "self"}, {"href": "http://localhost/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/states", "rel": "self"}, {"href": "http://localhost/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/volume", "rel": "self"}, {"href": "http://localhost/nodes/c756cbc8-29cc-4245-900d-6f8016dc269c/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67dfa4e6-a58e-4544-9880-a32b67d1df38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "862336db-fba8-43b0-af8e-491fb59ac1f7", "created_at": "2024-03-18T18:15:57.048177+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/862336db-fba8-43b0-af8e-491fb59ac1f7", "rel": "self"}, {"href": "http://localhost/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/ports", "rel": "self"}, {"href": "http://localhost/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/states", "rel": "self"}, {"href": "http://localhost/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/volume", "rel": "self"}, {"href": "http://localhost/nodes/862336db-fba8-43b0-af8e-491fb59ac1f7/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.143642s] ... 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-5c519c68-25eb-413b-bacc-8ed3b6167a5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:56.966816+00:00", "updated_at": "2024-03-18T18:15:57.056106+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.077932s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/852e4e4e-605a-4f73-b587-e7ed48c145e0 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-bc1015af-fae5-4ffc-8a38-d6d31b1a0fc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.051505s] ... 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-bf41587a-4c7e-4470-9104-4b4a1a521edc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.091245+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-912c2973-2167-4c89-b429-de5544c5ee9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.091245+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.069037s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/0e8619a0-5b2a-4958-bc0a-add8e0e52aa0 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-a1242ae8-9409-4350-a0a0-a17b986bc321 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.055558s] ... 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-035a4ae5-4889-4ab7-899c-d59e6f43254c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.148121+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-9cae538a-3c54-4ac7-b6de-a09ac9bf2950 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.148121+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.146156s] ... 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-86c89ab6-e93a-45f7-9e06-b5b26e4aee24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_node.TestListNodes.test_node_retired_with_reason [0.056803s] ... 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-0d281117-f08b-49de-96fb-61b3ac85fcb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.201018+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.176276s] ... 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-2c3caabf-58b1-4ea1-b401-9fbbc67afba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.164927+00:00", "updated_at": "2024-03-18T18:15:57.233019+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.040149s] ... 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-a5b649f7-8e03-4da6-8b3e-8935e847925f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.032976s] ... 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_node.TestListNodes.test_node_secure_boot [0.048691s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a75d6c9b-d381-4f68-aa07-b18525bbc52f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d7ce076f-b8b6-4c70-9e21-df83188b2fe4", "created_at": "2024-03-18T18:15:57.252671+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/d7ce076f-b8b6-4c70-9e21-df83188b2fe4", "rel": "self"}, {"href": "http://localhost/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/ports", "rel": "self"}, {"href": "http://localhost/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/states", "rel": "self"}, {"href": "http://localhost/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/volume", "rel": "self"}, {"href": "http://localhost/nodes/d7ce076f-b8b6-4c70-9e21-df83188b2fe4/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e869e48-3e9a-4076-9eb0-6cafb48acad9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5", "created_at": "2024-03-18T18:15:57.264890+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/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5", "rel": "self"}, {"href": "http://localhost/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/ports", "rel": "self"}, {"href": "http://localhost/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/states", "rel": "self"}, {"href": "http://localhost/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/volume", "rel": "self"}, {"href": "http://localhost/nodes/3a06efb4-8a4c-4e4a-8d79-48c00f2c22f5/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.033436s] ... 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.160113s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895 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-0b04cd0d-0cc0-452c-9adf-d4971f49effb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "eac6bddd-db03-4ae9-9ec4-aa3ba7817895", "created_at": "2024-03-18T18:15:57.217942+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/eac6bddd-db03-4ae9-9ec4-aa3ba7817895", "rel": "self"}, {"href": "http://localhost/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/ports", "rel": "self"}, {"href": "http://localhost/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/states", "rel": "self"}, {"href": "http://localhost/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/volume", "rel": "self"}, {"href": "http://localhost/nodes/eac6bddd-db03-4ae9-9ec4-aa3ba7817895/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.114082s] ... 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-1d4621c8-5c55-4fc1-a00b-52fc30616f05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.050068s] ... 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-5af240ea-87d5-42ae-a40d-3e4fd70dbd8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "79028372-07c4-4a05-8659-a610d1e5b27d", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/79028372-07c4-4a05-8659-a610d1e5b27d", "rel": "self"}, {"href": "http://localhost/ports/79028372-07c4-4a05-8659-a610d1e5b27d", "rel": "bookmark"}]}, {"uuid": "c9bf9dea-39b8-4632-8e1f-b9695af535bd", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/c9bf9dea-39b8-4632-8e1f-b9695af535bd", "rel": "self"}, {"href": "http://localhost/ports/c9bf9dea-39b8-4632-8e1f-b9695af535bd", "rel": "bookmark"}]}, {"uuid": "fa6fa98c-3251-4583-a458-8ce8666877ce", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/fa6fa98c-3251-4583-a458-8ce8666877ce", "rel": "self"}, {"href": "http://localhost/ports/fa6fa98c-3251-4583-a458-8ce8666877ce", "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.080586s] ... 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-20dd2f0e-0a24-4d7c-8e67-d3c15705e332 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.323666+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-e7565658-2833-4d29-b731-cd22c3ea3252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.323666+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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_node.TestPatch.test_update_network_interface_old_api [0.077834s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/3fa93937-fc29-4da5-a9e7-bbb719ae87a4 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-860baa1e-e7fc-4cd2-a578-ef56d742ae4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.055244s] ... 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-a5881dcc-5748-41b7-bad1-1933982e3e5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d72213e9-b060-4c31-8b1d-7c045ba43a8f", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/d72213e9-b060-4c31-8b1d-7c045ba43a8f", "rel": "self"}, {"href": "http://localhost/ports/d72213e9-b060-4c31-8b1d-7c045ba43a8f", "rel": "bookmark"}]}, {"uuid": "23121363-5c07-435d-9ba3-1a8aea4f8038", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/23121363-5c07-435d-9ba3-1a8aea4f8038", "rel": "self"}, {"href": "http://localhost/ports/23121363-5c07-435d-9ba3-1a8aea4f8038", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.060356s] ... 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-22e2c177-0e21-452d-885c-6dcc5816487b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_port.TestListPorts.test_sort_key_invalid [0.057910s] ... 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-97ed05ac-3e52-47d8-8924-00d1d6f5f198 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-6db42760-9078-4112-9cbc-863af36db904 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-121716b1-5e72-43db-bed1-3d8337b4a432 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-869cbe3d-7a23-44a6-a36f-760c2a7e114f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestListNodes.test_node_states_boot_mode [0.058542s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ff8f24e-1009-4d1d-943c-544974f48794/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52b31f08-6a42-4209-b399-6f46955d3d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/209010ad-eda9-4f88-9b81-d1cccb011d9c/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb8a0fa5-de81-461d-bae1-33e4d9a4800f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestListPorts.test_sort_key_not_allowed [0.033621s] ... 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-c4c1e7c1-fd0a-4567-b29e-bfe6080ef03d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.134832s] ... 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-f450c9c7-8008-474c-a679-047c0dcd7d29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:57.421424+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.050630s] ... 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-ed04cc2f-075b-47a6-b4b6-10616e59dd3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-d5686606-3cd1-4d29-b44a-cec665b1fb61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestListPortsByShard.test_get_by_shard_multi [0.061580s] ... 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-053d64fa-b436-402c-98a9-54d0328c83cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "dfde86ef-dd74-4119-aa29-0f34b25b4a25", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/dfde86ef-dd74-4119-aa29-0f34b25b4a25", "rel": "self"}, {"href": "http://localhost/ports/dfde86ef-dd74-4119-aa29-0f34b25b4a25", "rel": "bookmark"}]}, {"uuid": "174b1ccb-f54c-4d23-990f-6e6ebcc105c4", "address": "ab:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/174b1ccb-f54c-4d23-990f-6e6ebcc105c4", "rel": "self"}, {"href": "http://localhost/ports/174b1ccb-f54c-4d23-990f-6e6ebcc105c4", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.042562s] ... 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-f75f47f4-81a6-4428-bddb-2f18d000afcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_single [0.039910s] ... 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-fedcc33b-7336-4c80-a1d9-1a633efbc776 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8085a748-9b0a-48af-a5c2-8c73fdd0c1b1", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/8085a748-9b0a-48af-a5c2-8c73fdd0c1b1", "rel": "self"}, {"href": "http://localhost/ports/8085a748-9b0a-48af-a5c2-8c73fdd0c1b1", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.048224s] ... 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-946b6f47-60c8-442c-bcf5-6378a0368165 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.603347+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-7bfb7725-30bf-477f-a349-b0bfbd11bfb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.603347+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_port.TestListPortsByShard.test_get_by_shard_single_fail_api_version [0.035369s] ... 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-3546001f-445d-4afd-a7d8-0febf3dde2ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.022648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.037662s] ... 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-7c99e0d1-4cb5-476a-b765-0c2d095b6fc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.020867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.026362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.199225s] ... 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-03a4878f-fe48-46f3-8ea6-4478e7c2b076 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.569432+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.051543s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/8989a211-ec94-424a-a850-f6743bf6f41b/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-197dc4f1-9a22-40ce-b947-0f018ec63928 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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/9ea0cb3a-f3e7-4670-9486-8f75c6741605/states WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-faaf3b65-fc7c-42a2-b822-ae653ac0a5bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.022216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.020314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.044968s] ... 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-3f0b7dca-40d5-4aaa-928a-acfdcbc7aa53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-fb682795-5860-4f7a-914d-848b38bf3ae5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestPatch.test_update_not_found [0.411294s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/ports/c708daf8-278c-4847-a150-c851d8e5bbb2 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-4b535b29-431a-4ac2-9db7-f20bbb562f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 c708daf8-278c-4847-a150-c851d8e5bbb2 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.019822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.021638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.056422s] ... 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-d3828b6d-325d-4bac-acc6-cad4d48b9e6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.790387+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-a60253f3-9dc1-4ee3-87d6-feb0b261a523 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.790387+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.024326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.139057s] ... 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-2f7f16cd-e133-42b4-a7fd-e09b38a69da4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.779680+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.048530s] ... 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-9db84d43-61cc-47a4-aaef-78597fe2a1fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.847891+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-ef13c5ea-7fa5-461b-8b62-25f80510aea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.847891+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.124118s] ... 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-7fb15b5e-358c-442a-847c-6040ab9c3f9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:57.802368+00:00", "updated_at": "2024-03-18T18:15:57.883032+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_node.TestListNodes.test_one [0.040697s] ... 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-8a5f750f-0a15-4c8b-858a-2d62c8a78122 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.041824s] ... 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-c4b058df-dd44-45de-8d6b-a417a4a997b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_node.TestPatch.test_update_owner [0.145091s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4 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-aa5a20ea-7753-4fbb-9648-e2b11bc1c7c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "dc8db69c-d3d0-4f4a-8500-b038327490b4", "created_at": "2024-03-18T18:15:57.938124+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/dc8db69c-d3d0-4f4a-8500-b038327490b4", "rel": "self"}, {"href": "http://localhost/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/ports", "rel": "self"}, {"href": "http://localhost/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/states", "rel": "self"}, {"href": "http://localhost/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/volume", "rel": "self"}, {"href": "http://localhost/nodes/dc8db69c-d3d0-4f4a-8500-b038327490b4/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.121304s] ... 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-78eeb0d4-6d8b-43d8-ba8a-9b63168b506b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:57.949601+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.196000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.089956s] ... 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-da05821e-3a7a-4c72-a6ea-8db60026795e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "6fde5cbc-fe36-4430-ac17-22c861805fd2", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/6fde5cbc-fe36-4430-ac17-22c861805fd2", "rel": "self"}, {"href": "http://localhost/portgroups/6fde5cbc-fe36-4430-ac17-22c861805fd2", "rel": "bookmark"}]}, {"uuid": "c3e40508-e29c-4e8d-955a-783516b37fd5", "address": "52:54:00:cf:2d:31", "name": "pg-1", "links": [{"href": "http://localhost/v1/portgroups/c3e40508-e29c-4e8d-955a-783516b37fd5", "rel": "self"}, {"href": "http://localhost/portgroups/c3e40508-e29c-4e8d-955a-783516b37fd5", "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-ddb84658-2f1f-45fb-843b-8cc2fc09d6a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "6fde5cbc-fe36-4430-ac17-22c861805fd2", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/6fde5cbc-fe36-4430-ac17-22c861805fd2", "rel": "self"}, {"href": "http://localhost/portgroups/6fde5cbc-fe36-4430-ac17-22c861805fd2", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=6fde5cbc-fe36-4430-ac17-22c861805fd2"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.056355s] ... 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-bd347348-b401-4384-ad32-16ce77f9184a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestPost.test_create_port [0.088113s] ... 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-e3cd039d-552b-44c9-b1c1-89cdff894c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-7bc45fd4-d104-4e89-80b5-5e75860b0380 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.047004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.079760s] ... 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-605ccd52-43f7-4068-9dc6-132652e9636b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:58.094391+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_port.TestPost.test_create_port_address_already_exist [0.063818s] ... 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-9c81d96e-f7df-4dbe-b5cb-0b3c12f614dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.066937s] ... 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-3e6cc8b5-c6f5-42c5-bb41-3f923f539a48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:58.167890+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_portgroup.TestDelete.test_delete_portgroup_byaddress [0.087890s] ... 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.237564s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/862cdf14-f341-4550-9efa-e981caa8161f 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-bb5f4730-d14c-4fd8-92d8-991e8485834b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "862cdf14-f341-4550-9efa-e981caa8161f", "created_at": "2024-03-18T18:15:58.089243+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/862cdf14-f341-4550-9efa-e981caa8161f", "rel": "self"}, {"href": "http://localhost/nodes/862cdf14-f341-4550-9efa-e981caa8161f", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/862cdf14-f341-4550-9efa-e981caa8161f/ports", "rel": "self"}, {"href": "http://localhost/nodes/862cdf14-f341-4550-9efa-e981caa8161f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/862cdf14-f341-4550-9efa-e981caa8161f/states", "rel": "self"}, {"href": "http://localhost/nodes/862cdf14-f341-4550-9efa-e981caa8161f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/862cdf14-f341-4550-9efa-e981caa8161f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/862cdf14-f341-4550-9efa-e981caa8161f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/862cdf14-f341-4550-9efa-e981caa8161f/volume", "rel": "self"}, {"href": "http://localhost/nodes/862cdf14-f341-4550-9efa-e981caa8161f/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.041734s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.079234s] ... 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-c8d9d6b3-89fb-4717-adeb-da0f9aba214f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:58.226132+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-1b3da088-321b-45ab-a837-7145b228c50f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:58.226132+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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.055867s] ... 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-135dc184-7a43-482c-9223-24f5a7c70669 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_portgroup.TestDelete.test_delete_portgroup_byname [0.052458s] ... 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-d5a418f4-772e-4dd7-b396-6e78fd0d8eb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_port.TestPost.test_create_port_doesnt_contain_id [0.078759s] ... 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-2cbdca7c-c300-4f5f-bfad-622cad8c2144 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:58.308331+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-bd92423d-71ce-4719-9a72-417021338063 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:58.308331+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.081473s] ... 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-81f2af9c-03b4-40fe-bddf-2af3784a4506 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1fd7624a-beb9-4237-8555-1d1c6f75ec79", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/1fd7624a-beb9-4237-8555-1d1c6f75ec79", "rel": "self"}, {"href": "http://localhost/ports/1fd7624a-beb9-4237-8555-1d1c6f75ec79", "rel": "bookmark"}]}, {"uuid": "a18af132-70ee-4db0-8aab-fe2df7cd0439", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/a18af132-70ee-4db0-8aab-fe2df7cd0439", "rel": "self"}, {"href": "http://localhost/ports/a18af132-70ee-4db0-8aab-fe2df7cd0439", "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-694571be-18ef-4920-9343-86779b473e4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1fd7624a-beb9-4237-8555-1d1c6f75ec79", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/1fd7624a-beb9-4237-8555-1d1c6f75ec79", "rel": "self"}, {"href": "http://localhost/ports/1fd7624a-beb9-4237-8555-1d1c6f75ec79", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=1fd7624a-beb9-4237-8555-1d1c6f75ec79"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.037157s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.060624s] ... 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-9102646c-438b-4548-9557-d9af9c40a212 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.047243s] ... 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-48b10d13-b568-4b30-ae40-7fd6fb8641d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:58.384825+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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.057001s] ... 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-ec76e5ae-797d-4c52-99f4-318bff2382e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_ports_subresource_node_not_found [0.036851s] ... 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-92e43bcb-a0c6-42af-a657-67334cefa856 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.112151s] ... 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-67f8c666-4a2d-4489-91d2-8b7871c047e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPatch.test_update_owner_allocation_owned [0.220220s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/6e250c82-448f-4b4e-8b11-5c72f2b11f28 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-b20dc9d4-2658-4df4-acb8-c4c06aa03acd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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 \\\"6e250c82-448f-4b4e-8b11-5c72f2b11f28\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.041127s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.059047s] ... 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.067695s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/654807d6-6b69-4afb-aeaf-65556269b5f2 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-d3e17c59-7a39-4c4e-a194-0f5fb84fe845 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestDelete.test_delete_portgroup_node_locked [0.060019s] ... 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-c247591f-1b7f-4a9e-948f-2d2f835917cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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_port.TestPost.test_create_port_generate_uuid [0.125468s] ... 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/fb610dfa-7578-4136-93d3-74f40310c2ad DEBUG util.py:445: Openstack-Request-Id: req-77ea50aa-5022-463e-a01e-88f2851d1630 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fb610dfa-7578-4136-93d3-74f40310c2ad", "created_at": "2024-03-18T18:15:58.515778+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/fb610dfa-7578-4136-93d3-74f40310c2ad", "rel": "self"}, {"href": "http://localhost/ports/fb610dfa-7578-4136-93d3-74f40310c2ad", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET /v1/ports/fb610dfa-7578-4136-93d3-74f40310c2ad WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3728c8b2-448b-418d-9f56-00f59192fa2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fb610dfa-7578-4136-93d3-74f40310c2ad", "created_at": "2024-03-18T18:15:58.515778+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/fb610dfa-7578-4136-93d3-74f40310c2ad", "rel": "self"}, {"href": "http://localhost/ports/fb610dfa-7578-4136-93d3-74f40310c2ad", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_inspector_compatibility [0.036974s] ... 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-4afede45-ccda-4306-bcf2-29bdaca372e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "54d3f1a0-d371-43e7-823f-97383129ec73"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.044420s] ... 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-8dd5c771-6c55-48c7-9bbd-5ee28c6927b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_invalid_schema [0.040819s] ... 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-1a11b035-ab75-4c5d-a61e-c6366de4918d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.042026s] ... 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-d43beac8-bdb6-4b44-8bc6-bd084f310ec0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_new_api [0.047007s] ... 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-897dc0a3-7a16-4526-8afe-1a8708baed87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9ad6e87a-7e8b-434b-aa89-e27234d0217c", "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/9ad6e87a-7e8b-434b-aa89-e27234d0217c", "rel": "self"}, {"href": "http://localhost/nodes/9ad6e87a-7e8b-434b-aa89-e27234d0217c", "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.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.173451s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce 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-54396f7c-bb0a-491b-8796-f2db738b02dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d12b2812-9920-4100-8b00-826d3dbfd7ce", "created_at": "2024-03-18T18:15:58.608183+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/d12b2812-9920-4100-8b00-826d3dbfd7ce", "rel": "self"}, {"href": "http://localhost/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/states", "rel": "self"}, {"href": "http://localhost/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/d12b2812-9920-4100-8b00-826d3dbfd7ce/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_no_usable_lookup_data [0.040655s] ... 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-692e063c-82ea-462d-9483-ba10506c476d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.064215s] ... 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-667332b3-e3bd-497a-adc0-0cfc9e3d0f20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.244849s] ... 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-eeaee833-1cc1-411d-9208-f25e4aa62082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_ramdisk.TestContinueInspection.test_old_api_version [0.048993s] ... 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-9a97420a-5ddd-4fbd-a3db-397ab4244e5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestPost.test_create_port_invalid_physnet_non_text [0.054169s] ... 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-a8320536-acec-41bb-9ad5-1578c6068c90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.061504s] ... 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-13df3811-a156-4abc-bb57-99bd90d0323e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7cee7698-770e-4a17-a374-9c924357bd0b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/7cee7698-770e-4a17-a374-9c924357bd0b", "rel": "self"}, {"href": "http://localhost/nodes/7cee7698-770e-4a17-a374-9c924357bd0b", "rel": "bookmark"}]}, {"uuid": "a4701c1e-09df-4c11-b8a4-4356c746f6fb", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a4701c1e-09df-4c11-b8a4-4356c746f6fb", "rel": "self"}, {"href": "http://localhost/nodes/a4701c1e-09df-4c11-b8a4-4356c746f6fb", "rel": "bookmark"}]}, {"uuid": "bc76c440-dd7a-472a-ba71-9b459d8b3193", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/bc76c440-dd7a-472a-ba71-9b459d8b3193", "rel": "self"}, {"href": "http://localhost/nodes/bc76c440-dd7a-472a-ba71-9b459d8b3193", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.046782s] ... 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-36451dc9-6e4b-42ad-b86b-04d5a730b6db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.133372s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/8c3a0533-2098-4e2d-9598-ec96e0d858a0 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-1f839e23-af24-4968-81e0-ed7a01afc911 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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 \\\"8c3a0533-2098-4e2d-9598-ec96e0d858a0\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.094594s] ... 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=0e28ac46-9a05-4579-9edf-0fe4720c83f8 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6631e65-3280-49c6-9450-ed8871d13e27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0e28ac46-9a05-4579-9edf-0fe4720c83f8", "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/0e28ac46-9a05-4579-9edf-0fe4720c83f8", "rel": "self"}, {"href": "http://localhost/nodes/0e28ac46-9a05-4579-9edf-0fe4720c83f8", "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=0e28ac46-9a05-4579-9edf-0fe4720c83f8 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b3168f6-b1dc-48da-bc3d-c962b6f04c4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0e28ac46-9a05-4579-9edf-0fe4720c83f8", "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/0e28ac46-9a05-4579-9edf-0fe4720c83f8", "rel": "self"}, {"href": "http://localhost/nodes/0e28ac46-9a05-4579-9edf-0fe4720c83f8", "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=0e28ac46-9a05-4579-9edf-0fe4720c83f8 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b674c716-a72d-49b9-b988-a84cc3eed436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0e28ac46-9a05-4579-9edf-0fe4720c83f8", "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/0e28ac46-9a05-4579-9edf-0fe4720c83f8", "rel": "self"}, {"href": "http://localhost/nodes/0e28ac46-9a05-4579-9edf-0fe4720c83f8", "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_node.TestListNodes.test_sort_key_allowed [0.055726s] ... 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-bec5d659-ff05-4768-b6c8-b9579335ca7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "3b1d0430-594e-43f2-a42b-66b522d8f7d4", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/3b1d0430-594e-43f2-a42b-66b522d8f7d4", "rel": "self"}, {"href": "http://localhost/nodes/3b1d0430-594e-43f2-a42b-66b522d8f7d4", "rel": "bookmark"}]}, {"uuid": "97a33d1a-2e7f-447e-83b4-f720ed503a0c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/97a33d1a-2e7f-447e-83b4-f720ed503a0c", "rel": "self"}, {"href": "http://localhost/nodes/97a33d1a-2e7f-447e-83b4-f720ed503a0c", "rel": "bookmark"}]}, {"uuid": "4a35a1be-22f6-410c-878f-d658efdfeca8", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/4a35a1be-22f6-410c-878f-d658efdfeca8", "rel": "self"}, {"href": "http://localhost/nodes/4a35a1be-22f6-410c-878f-d658efdfeca8", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.074685s] ... 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-82639150-b7ed-46cc-a238-1c9334dcc854 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:58.884601+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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.067081s] ... 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-56618131-f8f0-4c76-bb29-44d932ea030c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "909fb3c7-ea85-4b98-bb9b-cda1fc5297c7", "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/909fb3c7-ea85-4b98-bb9b-cda1fc5297c7", "rel": "self"}, {"href": "http://localhost/nodes/909fb3c7-ea85-4b98-bb9b-cda1fc5297c7", "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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.074494s] ... 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-fcc6270b-9078-425d-86bd-2eda04181b25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-b2428eba-0be5-45ab-acb4-b3516c9407ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-f9a6a123-34f3-4483-9368-2ab2c25d5b34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-5544d9ec-03aa-4485-a9c7-9135450035d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-d3fc252e-2a43-4e98-99e3-c91de0328531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-1c34b4e1-c9c5-42db-b4c9-997b8d920129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-ff5e97de-002c-4346-8ed1-88e16d980ef6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-b7812303-d45a-4d3b-bedb-ff7f19785b97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.061240s] ... 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-a98799ca-2824-440c-9de4-bc94856af8ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.058638s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?node_uuid=dbc7413e-99bc-41e8-b32c-b19a312eacae WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d771a15-cad6-4862-9392-b4253d883a0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "dbc7413e-99bc-41e8-b32c-b19a312eacae", "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/dbc7413e-99bc-41e8-b32c-b19a312eacae", "rel": "self"}, {"href": "http://localhost/nodes/dbc7413e-99bc-41e8-b32c-b19a312eacae", "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.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.045381s] ... 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-32803cd2-d238-419e-b4c0-59aeec0d5d15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestPost.test_create_port_local_link_connection_missing_optional [0.068385s] ... 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-15d1619e-b743-44f7-a309-51d62fb03008 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.017879+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_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.043932s] ... 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=4d0b3453-31a2-4fcd-b8b1-36703dd832d5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ece67c4a-074e-4f0d-a5cb-27c8ff789ca1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "4d0b3453-31a2-4fcd-b8b1-36703dd832d5", "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/4d0b3453-31a2-4fcd-b8b1-36703dd832d5", "rel": "self"}, {"href": "http://localhost/nodes/4d0b3453-31a2-4fcd-b8b1-36703dd832d5", "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_node.TestListNodes.test_unassociated_nodes_insensitive [0.075582s] ... 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-214057a2-1d61-4085-a3f0-1ff946acd034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "8a8145ef-b44a-400f-96f7-454b23bce284", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/8a8145ef-b44a-400f-96f7-454b23bce284", "rel": "self"}, {"href": "http://localhost/nodes/8a8145ef-b44a-400f-96f7-454b23bce284", "rel": "bookmark"}]}, {"uuid": "0345d83d-1a83-4874-8dc4-af948910234a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0345d83d-1a83-4874-8dc4-af948910234a", "rel": "self"}, {"href": "http://localhost/nodes/0345d83d-1a83-4874-8dc4-af948910234a", "rel": "bookmark"}]}, {"uuid": "daf08096-85eb-4421-af82-7e7c92fc8334", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/daf08096-85eb-4421-af82-7e7c92fc8334", "rel": "self"}, {"href": "http://localhost/nodes/daf08096-85eb-4421-af82-7e7c92fc8334", "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-d0694c5f-3f39-4ba4-857d-51a1ce585c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "8a8145ef-b44a-400f-96f7-454b23bce284", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/8a8145ef-b44a-400f-96f7-454b23bce284", "rel": "self"}, {"href": "http://localhost/nodes/8a8145ef-b44a-400f-96f7-454b23bce284", "rel": "bookmark"}]}, {"uuid": "0345d83d-1a83-4874-8dc4-af948910234a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0345d83d-1a83-4874-8dc4-af948910234a", "rel": "self"}, {"href": "http://localhost/nodes/0345d83d-1a83-4874-8dc4-af948910234a", "rel": "bookmark"}]}, {"uuid": "daf08096-85eb-4421-af82-7e7c92fc8334", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/daf08096-85eb-4421-af82-7e7c92fc8334", "rel": "self"}, {"href": "http://localhost/nodes/daf08096-85eb-4421-af82-7e7c92fc8334", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.230716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/322101ec-cd79-46d9-944f-5dbd758617db 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-4f1b257a-01e6-4348-a574-466678517aae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "322101ec-cd79-46d9-944f-5dbd758617db", "created_at": "2024-03-18T18:15:58.932450+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/322101ec-cd79-46d9-944f-5dbd758617db", "rel": "self"}, {"href": "http://localhost/nodes/322101ec-cd79-46d9-944f-5dbd758617db", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/322101ec-cd79-46d9-944f-5dbd758617db/ports", "rel": "self"}, {"href": "http://localhost/nodes/322101ec-cd79-46d9-944f-5dbd758617db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/322101ec-cd79-46d9-944f-5dbd758617db/states", "rel": "self"}, {"href": "http://localhost/nodes/322101ec-cd79-46d9-944f-5dbd758617db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/322101ec-cd79-46d9-944f-5dbd758617db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/322101ec-cd79-46d9-944f-5dbd758617db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/322101ec-cd79-46d9-944f-5dbd758617db/volume", "rel": "self"}, {"href": "http://localhost/nodes/322101ec-cd79-46d9-944f-5dbd758617db/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.056254s] ... 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-b10bf9c4-c519-48fe-9a43-1e94f2b39b0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9421e49d-4980-4091-8ce3-2368bb5fcbfb", "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/9421e49d-4980-4091-8ce3-2368bb5fcbfb", "rel": "self"}, {"href": "http://localhost/nodes/9421e49d-4980-4091-8ce3-2368bb5fcbfb", "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.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.063612s] ... 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-75460106-360a-4f95-99f8-47ea71b35906 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.047368s] ... 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=57d9eb4a-ff76-4e79-a823-5d8c98bb9180 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96a47bfb-610b-4a99-8b71-d2a8ce12e58a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "57d9eb4a-ff76-4e79-a823-5d8c98bb9180", "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/57d9eb4a-ff76-4e79-a823-5d8c98bb9180", "rel": "self"}, {"href": "http://localhost/nodes/57d9eb4a-ff76-4e79-a823-5d8c98bb9180", "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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.078505s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/0c2f1a17-2a0f-47c5-ab24-baa4e54bdaa1 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-5ecb10b4-c118-4dfc-8bc0-c6dd0afbbd56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.053350s] ... 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-5ab8d90a-f927-4ae0-ba23-69ab45b905a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.137844+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_ramdisk.TestLookupScopedRBAC.test_not_found [0.042109s] ... 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-ea891298-2d7f-4519-a27b-1a2471a0862b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestListNodes.test_unassociated_nodes_with_limit [0.114570s] ... 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-96fb1d31-8279-4ba8-8903-01ef15a5de36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "c3a296b8-628f-44f7-ab12-a047fddabfe6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/c3a296b8-628f-44f7-ab12-a047fddabfe6", "rel": "self"}, {"href": "http://localhost/nodes/c3a296b8-628f-44f7-ab12-a047fddabfe6", "rel": "bookmark"}]}, {"uuid": "46da4272-5f04-40f5-8882-ca624d1c0eff", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/46da4272-5f04-40f5-8882-ca624d1c0eff", "rel": "self"}, {"href": "http://localhost/nodes/46da4272-5f04-40f5-8882-ca624d1c0eff", "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=46da4272-5f04-40f5-8882-ca624d1c0eff"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.045673s] ... 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-a4fa9100-5f94-4663-bef5-4376f1d9b070 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.050068s] ... 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-63298e2d-4d1d-43d2-9c70-dd26c28f7805 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.044863s] ... 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-c1efb623-c5a9-4b0b-8060-384a30e5680e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.041051s] ... 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-de636a98-1d1d-4138-b256-380df66f09a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.048784s] ... 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-dfdf65f1-7b64-4b8d-9ffc-50011d5dfc6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestListNodes.test_validate_by_name_unsupported [0.041290s] ... 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-34fa3534-8da0-4a6a-b730-79a3183a7378 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_port.TestPost.test_create_port_node_uuid_not_found [0.058544s] ... 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-635a49c1-1089-4e6e-ae28-84911d3b3a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.045538s] ... 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=bfa224f1-27bb-4aea-8485-64d5fb752f5b WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9655c8d9-3dac-47a2-a6a4-218176e12bee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestListNodes.test_validate_by_uuid [0.043125s] ... 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-85594c37-37aa-4ba1-a23d-ad1ed44c0555 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.062544s] ... 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-4458aead-f336-461a-aa57-b922f510a7d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.346559+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: {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.030823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.046388s] ... 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-0b9a079b-1b23-4d38-a351-7c9baa773eda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.022396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.020896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.259292s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881 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-717858b7-5701-4a3f-9828-202b42e34a20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "2acee1a7-6cba-4c48-ae27-b1c26ca7f881", "created_at": "2024-03-18T18:15:59.277693+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/2acee1a7-6cba-4c48-ae27-b1c26ca7f881", "rel": "self"}, {"href": "http://localhost/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/ports", "rel": "self"}, {"href": "http://localhost/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/states", "rel": "self"}, {"href": "http://localhost/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/volume", "rel": "self"}, {"href": "http://localhost/nodes/2acee1a7-6cba-4c48-ae27-b1c26ca7f881/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.029747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.077962s] ... 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-48cfbb03-eb8a-46f9-96a3-80be1cdfc8c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.423127+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.071755s] ... 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-8e11565e-a977-4509-be46-f960f15a8528 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d1c47ac0-59ee-4037-b3d2-3b88c45be814", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d1c47ac0-59ee-4037-b3d2-3b88c45be814", "rel": "self"}, {"href": "http://localhost/volume/connectors/d1c47ac0-59ee-4037-b3d2-3b88c45be814", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "a3121d7f-829e-4bc1-bb0b-aae2d6f0b150", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/a3121d7f-829e-4bc1-bb0b-aae2d6f0b150", "rel": "self"}, {"href": "http://localhost/volume/connectors/a3121d7f-829e-4bc1-bb0b-aae2d6f0b150", "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-ebc2d3e0-7aca-45da-8d74-1f2fd8816f18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d1c47ac0-59ee-4037-b3d2-3b88c45be814", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d1c47ac0-59ee-4037-b3d2-3b88c45be814", "rel": "self"}, {"href": "http://localhost/volume/connectors/d1c47ac0-59ee-4037-b3d2-3b88c45be814", "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=d1c47ac0-59ee-4037-b3d2-3b88c45be814"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.023158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.044106s] ... 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-8d9522b0-374c-4592-941f-52b5e93c3d85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.044978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.023688s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.109800s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf 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-2e348310-02cb-4202-ad79-60dcfa28cd60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "fe485aef-5fc8-4899-bb25-e21be35dbbaf", "created_at": "2024-03-18T18:15:59.460682+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/fe485aef-5fc8-4899-bb25-e21be35dbbaf", "rel": "self"}, {"href": "http://localhost/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/ports", "rel": "self"}, {"href": "http://localhost/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/states", "rel": "self"}, {"href": "http://localhost/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/volume", "rel": "self"}, {"href": "http://localhost/nodes/fe485aef-5fc8-4899-bb25-e21be35dbbaf/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.038305s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.091109s] ... 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-4d53647e-ec21-4dbe-9c55-a9f55729d6c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.514129+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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.026121s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.022934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.038034s] ... 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-bc0a6a62-bfdb-4ec0-ac16-0c68000a4669 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.026103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.078919s] ... 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-908961f7-e586-4518-833d-f4a021db1c14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.596477+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.048599s] ... 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-447887a7-a498-4e99-a053-2d28fb2f04cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_logical [0.032228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.046323s] ... 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-b3dcad37-dd28-4164-b1c6-b5d8d6f7ba83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:15:59.639897+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.141573s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d 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-b10fc35a-1e73-4189-90c7-7daedd790a86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "1cf9d057-17f2-4b76-be59-b40aaf6fc98d", "created_at": "2024-03-18T18:15:59.574393+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/1cf9d057-17f2-4b76-be59-b40aaf6fc98d", "rel": "self"}, {"href": "http://localhost/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/ports", "rel": "self"}, {"href": "http://localhost/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/states", "rel": "self"}, {"href": "http://localhost/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/volume", "rel": "self"}, {"href": "http://localhost/nodes/1cf9d057-17f2-4b76-be59-b40aaf6fc98d/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.066402s] ... 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-e4f04833-6dd8-458a-938b-71d2b0892670 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_physical [0.049598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.049671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.074601s] ... 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-7c871f25-ebae-4fe9-bb29-24063e43d824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3e9891a6-887e-48ca-8b4c-893c918527ab", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3e9891a6-887e-48ca-8b4c-893c918527ab", "rel": "self"}, {"href": "http://localhost/volume/targets/3e9891a6-887e-48ca-8b4c-893c918527ab", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "589ff9bc-4210-48da-8c47-91d705e8b3d7", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/589ff9bc-4210-48da-8c47-91d705e8b3d7", "rel": "self"}, {"href": "http://localhost/volume/targets/589ff9bc-4210-48da-8c47-91d705e8b3d7", "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-6d40cd1d-94f9-4bfb-a828-b37b62d68d9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3e9891a6-887e-48ca-8b4c-893c918527ab", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3e9891a6-887e-48ca-8b4c-893c918527ab", "rel": "self"}, {"href": "http://localhost/volume/targets/3e9891a6-887e-48ca-8b4c-893c918527ab", "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=3e9891a6-887e-48ca-8b4c-893c918527ab"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.031569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.094009s] ... 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-d0f6ceee-b369-4be3-8284-7c50a8710652 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.754599+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.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.110988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/84f36880-68cb-4bf8-8cef-be025985eabe 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-cd4231f8-df25-4a83-b42b-a48d6f194325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.039830s] ... 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-426f02c2-21b7-4275-85ce-f165a58fab76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.043188s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.036115s] ... 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_utils.TestLocalLinkValidation.test_local_link_connection_set_both_switches [0.047952s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.089316s] ... 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-c6aa55d3-0401-4cd9-8af2-6608e75e67cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:15:59.846253+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_get_child_node [0.041886s] ... 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-5793c22c-fc6c-4013-9dd8-fffa2973615b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": ["5827c70f-f56b-4139-aaa4-6505f7b7e7d8"], "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_utils.TestLocalLinkValidation.test_local_link_connection_type [0.034367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.125123s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a 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-50d15d08-5498-487b-a32c-08ab2763b4cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "70d59794-93f1-4d1e-9d14-e73f36e0428a", "created_at": "2024-03-18T18:15:59.833203+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/70d59794-93f1-4d1e-9d14-e73f36e0428a", "rel": "self"}, {"href": "http://localhost/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/ports", "rel": "self"}, {"href": "http://localhost/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/states", "rel": "self"}, {"href": "http://localhost/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/volume", "rel": "self"}, {"href": "http://localhost/nodes/70d59794-93f1-4d1e-9d14-e73f36e0428a/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_node_children_by_single_node [0.045929s] ... 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-1ec2acd9-0c5b-44e4-bf61-3f8c302e5b1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": ["2ffca01f-14ee-4e23-a2d9-a90723768266", "1941f6b1-c42f-4f2c-b4d3-a2952256c83f"], "links": {"href": "http://localhost/v1/nodes?parent_node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "children"}} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.071141s] ... 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': 'e32dabba-0afb-49f6-b11b-aa8d220e1cff', '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-b9680c85-8e95-44c5-a5bd-da01d6dc7aa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node e32dabba-0afb-49f6-b11b-aa8d220e1cff could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.046176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes [0.044335s] ... 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-13aaa9a2-f889-4a3a-92e2-19c9e3dbe55c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.034201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.064151s] ... 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-7c923e0b-36ba-4ecb-8bbd-463a65161343 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestNodeChildrenTestCase.test_list_nodes_cannot_see_children_if_not_owned [0.051557s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?parent_node=3fa0383b-1f42-4ad1-b7c1-e6650cc05b58 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-327b605f-3963-4988-8afc-4e8d65e6e88e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.038320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_ignores_parent_if_include_children_indicated [0.037957s] ... 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-e9cdd902-54a1-4e42-a0f8-1acc6267728d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "58bfbefa-c4d5-4958-bdf0-fdeb493e3e84", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/58bfbefa-c4d5-4958-bdf0-fdeb493e3e84", "rel": "self"}, {"href": "http://localhost/nodes/58bfbefa-c4d5-4958-bdf0-fdeb493e3e84", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.036637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.076079s] ... 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-786521d4-62b8-4b3e-9290-56cd04d7c7bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_lists_empty_for_specific_parent [0.042153s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/?parent_node=d7cd1f95-51ce-4f6e-88f3-4afb7420e5fa WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4fe7e7ae-4e5d-40ec-b4e7-2fee4f5890ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.183442s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/86a51615-4146-42ca-a79d-30d3bb8b78b1 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-fb5d12b0-ac83-4327-9839-0aa8355f0113 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "86a51615-4146-42ca-a79d-30d3bb8b78b1", "created_at": "2024-03-18T18:16:00.010691+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/86a51615-4146-42ca-a79d-30d3bb8b78b1", "rel": "self"}, {"href": "http://localhost/nodes/86a51615-4146-42ca-a79d-30d3bb8b78b1", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/86a51615-4146-42ca-a79d-30d3bb8b78b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/86a51615-4146-42ca-a79d-30d3bb8b78b1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/86a51615-4146-42ca-a79d-30d3bb8b78b1/states", "rel": "self"}, {"href": "http://localhost/nodes/86a51615-4146-42ca-a79d-30d3bb8b78b1/states", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.044272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.036672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_with_children_only_parent [0.046978s] ... 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-650ae7d0-383e-48c6-a311-a0fcb7bc50b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "5dfaca01-68ab-4700-9059-4d43f9f1cd09", "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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.072012s] ... 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-b7d08765-6d99-4ba4-ad73-88ac22c9c8fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestNodeChildrenTestCase.test_list_nodes_with_include_children [0.040913s] ... 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-99295ca8-109f-49c8-8c48-f326b5a856d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "b271dd55-0cdf-4c2c-b8e6-c4bd4d5f27cd", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/b271dd55-0cdf-4c2c-b8e6-c4bd4d5f27cd", "rel": "self"}, {"href": "http://localhost/nodes/b271dd55-0cdf-4c2c-b8e6-c4bd4d5f27cd", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.058485s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.060101s] ... 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-3163e32b-9b12-4222-8ce7-bcd1fe8d1781 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.095341s] ... 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-11ddfe40-58c8-4ae7-a23e-d2cee49309e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-3fbef1c6-d03d-4159-8be3-77fccc4fe606 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.192765s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/d5241a83-6638-4ae5-a178-20576dc9c4c3 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-7be7dcbf-fc5f-4533-a884-49ec681b9ba7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d5241a83-6638-4ae5-a178-20576dc9c4c3", "created_at": "2024-03-18T18:16:00.172445+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/d5241a83-6638-4ae5-a178-20576dc9c4c3", "rel": "self"}, {"href": "http://localhost/nodes/d5241a83-6638-4ae5-a178-20576dc9c4c3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d5241a83-6638-4ae5-a178-20576dc9c4c3/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5241a83-6638-4ae5-a178-20576dc9c4c3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5241a83-6638-4ae5-a178-20576dc9c4c3/states", "rel": "self"}, {"href": "http://localhost/nodes/d5241a83-6638-4ae5-a178-20576dc9c4c3/states", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.121037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.109561s] ... 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-7e1c9959-27ff-4da4-9547-ad315efef1ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.277953+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-53ad48f1-697b-477d-abc7-e92a4df2fe6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.277953+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.105721s] ... 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-4eab46fa-c61c-47c9-83ad-0e7f0a985fe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.347628+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-7ca9d23a-5c9e-4fc4-9dbb-1ed5ed5a58c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.347628+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_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.073122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.118896s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/4f47b4f3-0833-4674-b3bd-8769da4778d6 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-1a6dcf28-b587-4590-a5a5-44118cd75ae6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.085454s] ... 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-33ccc9cf-e288-43ff-881b-fa8adc5f3c5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.384013+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.061514s] ... 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-58275a8f-a0bb-4977-ab7c-a641be6a21ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.092839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.086130s] ... 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-673b9b5d-daa3-4aaa-9bfd-23124c5d3c40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.476024+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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.070281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.068016s] ... 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-dbac5006-414f-4c96-9f1c-c71c58948d93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.547732+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.136878s] ... 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-f4bdaa9a-3b31-43cd-a91a-9cb2f0cd93d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-4bbea1d6-156a-4322-a9db-f4be3d1be381 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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': '145c6c83-9512-4500-836f-274671112726', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/145c6c83-9512-4500-836f-274671112726 DEBUG util.py:445: Openstack-Request-Id: req-b1926ab5-23ec-47aa-97e0-93fa146265b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "145c6c83-9512-4500-836f-274671112726", "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/145c6c83-9512-4500-836f-274671112726", "rel": "self"}, {"href": "http://localhost/nodes/145c6c83-9512-4500-836f-274671112726", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/145c6c83-9512-4500-836f-274671112726/ports", "rel": "self"}, {"href": "http://localhost/nodes/145c6c83-9512-4500-836f-274671112726/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/145c6c83-9512-4500-836f-274671112726 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1a7ac43-24a6-4873-a4bb-a8a253e463b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "145c6c83-9512-4500-836f-274671112726", "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/145c6c83-9512-4500-836f-274671112726", "rel": "self"}, {"href": "http://localhost/nodes/145c6c83-9512-4500-836f-274671112726", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/145c6c83-9512-4500-836f-274671112726/ports", "rel": "self"}, {"href": "http://localhost/nodes/145c6c83-9512-4500-836f-274671112726/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.065715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.062463s] ... 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-e0b8e46c-8115-4ac2-9644-d88b41399913 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.075536s] ... 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-77363180-811e-4dce-b367-1b6ee733b9ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestPatch.test_update_resource_class_too_long [0.275907s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/b6beb133-98d2-4799-98b2-ea9b2ca607c2 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-ffa88c3e-c990-4f32-8e49-09cd55a4a422 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.083018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.071562s] ... 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-12a3cc6c-56e9-4019-be69-8e72ea6b52a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.692355+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.091022s] ... 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-5da19cd9-8422-432e-abd1-8dd684f4defe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:00.709158+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-55b95930-149e-4b2e-9753-c40a712145b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.709158+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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.040432s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.057227s] ... 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-ac4a19de-b42b-4648-8d38-87fc22de5620 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPost.test_create_port_with_internal_field [0.047043s] ... 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-36ef3412-b9fa-47fa-9807-4568cd7cd62d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.082246s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.100371s] ... 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-b8d40860-d47a-45df-a5a9-855a713fc843 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:00.800206+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-4590df2b-6fca-4b07-b268-120be8155239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.800206+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-74e1b5b4-e373-43e5-b20e-fa2711992817 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:00.800206+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.080670s] ... 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-15c94692-1812-4257-a48d-4f2839c8b8ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.873404+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.095952s] ... 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-c0f81f4b-19a6-4dde-bf05-a14b56199577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.902318+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-8c4c808c-4867-4670-b1a1-17be4e82f944 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.902318+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.278205s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9 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-29c64ba1-2908-4cea-86e1-6b90c8693319 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9", "created_at": "2024-03-18T18:16:00.766675+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/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9", "rel": "self"}, {"href": "http://localhost/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/ports", "rel": "self"}, {"href": "http://localhost/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/states", "rel": "self"}, {"href": "http://localhost/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/volume", "rel": "self"}, {"href": "http://localhost/nodes/1f43052f-4a7c-4ae4-b547-67ee2ca7c7a9/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.069390s] ... 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-4e3ab622-c63e-4dff-ac39-d8cdb801eca6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:00.946422+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.078085s] ... 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-32b472b2-6355-4c14-b860-44b2988bb1af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.067716s] ... 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-163a094b-a11b-48db-b97a-22ba7cad8cf1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.126627s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/0af77a39-e305-463a-b4d0-4f3b2a827169 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-0c70080b-348d-45f9-b227-80c63cf9a017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.063809s] ... 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-4292dd72-9cb3-46f2-a035-bc24598b8512 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.096851s] ... 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-487aef1b-0c06-471b-b435-faf242726d1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:01.077759+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-7f43b28b-d55c-450e-8bc1-7799c713f6a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:01.077759+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_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.070501s] ... 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-cc5128e3-3995-45e3-bfee-2ab4fac0aac5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_default_conductor_group [0.086363s] ... 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-5e6ffdc1-6fae-4a59-a370-073ab4b3e10b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:01.169834+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-d27080d9-850a-414b-9ea3-039590d15957 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:01.169834+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.095705s] ... 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-a3048001-ca4c-4243-97f1-6237a8cdb62a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.097873s] ... 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-d418a273-1090-43c3-84fc-b961a611892a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-159f696b-0620-4677-a129-310eaa68d23a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.254057s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b 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-f62df164-37c8-4b2d-881c-a6caf0d9da93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "ca5d3a73-cbb1-4021-84a5-b9b802ae262b", "created_at": "2024-03-18T18:16:01.220409+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/ca5d3a73-cbb1-4021-84a5-b9b802ae262b", "rel": "self"}, {"href": "http://localhost/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/ports", "rel": "self"}, {"href": "http://localhost/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/states", "rel": "self"}, {"href": "http://localhost/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/volume", "rel": "self"}, {"href": "http://localhost/nodes/ca5d3a73-cbb1-4021-84a5-b9b802ae262b/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.534114s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.080078s] ... 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-885a3d7e-9db0-4c0d-ae94-bfd02b21b262 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:01.327191+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.084286s] ... 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-487a064c-23a8-4070-9d6d-debe25e2a082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:01.352604+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-85386422-e0ff-475e-81c9-67decaa6428e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:01.352604+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_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.040799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.054540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.091870s] ... 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-0c2b85e8-3c08-4566-b543-d8258a39f399 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-5e676104-c9e7-4dc9-b3d0-e718a79aa1fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.110315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.022294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.286022s] ... 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-8d36cd0a-4571-4b40-8149-3d0cb3ff23e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.101117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.244969s] ... 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-8fa06b19-68eb-4002-af12-91acd20098c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.317970s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/b7130153-0b38-488e-a901-3bb24aeb790c 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-95105e31-a6a9-4b31-93f0-5b3cba71a687 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "b7130153-0b38-488e-a901-3bb24aeb790c", "created_at": "2024-03-18T18:16:01.482023+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/b7130153-0b38-488e-a901-3bb24aeb790c", "rel": "self"}, {"href": "http://localhost/nodes/b7130153-0b38-488e-a901-3bb24aeb790c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/ports", "rel": "self"}, {"href": "http://localhost/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/states", "rel": "self"}, {"href": "http://localhost/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/volume", "rel": "self"}, {"href": "http://localhost/nodes/b7130153-0b38-488e-a901-3bb24aeb790c/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.089732s] ... 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-9831c6a1-a128-4abf-89f9-4af5cc8c9b34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:01.694325+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_port.TestPost.test_create_port_with_physical_network_old_api_version [0.059691s] ... 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-0c4f7948-7b02-4f62-83d4-fe784512212a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.099928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.071981s] ... 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-3e3b7646-fbd5-41d3-bb18-b557f166945a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.050896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.069261s] ... 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-51f3d8ac-6f77-4660-a1af-67b87c5dbdbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.085069s] ... 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-e4cb247f-324f-48fa-80bb-4cbb88587755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.057216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.198888s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73 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-cfe0d73b-9446-4fd6-8fb7-92baced439f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "7b7ff78f-e837-412c-82d9-37c282f24b73", "created_at": "2024-03-18T18:16:01.788306+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/7b7ff78f-e837-412c-82d9-37c282f24b73", "rel": "self"}, {"href": "http://localhost/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/ports", "rel": "self"}, {"href": "http://localhost/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/states", "rel": "self"}, {"href": "http://localhost/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/volume", "rel": "self"}, {"href": "http://localhost/nodes/7b7ff78f-e837-412c-82d9-37c282f24b73/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.062478s] ... 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-dfba9896-4625-49d2-aa82-45aeaef5cd28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.031859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.076309s] ... 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-78e8194f-97ef-4d6e-b2e1-44567df40818 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.051886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.094652s] ... 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-ed0ed75b-c437-49bb-a1d7-9fcce2d8b72a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:01.991645+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.141118s] ... 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-bf7dffd2-8c3a-46e8-b86f-e2b0fa52c9d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.042019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.069554s] ... 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-57846682-4285-4c1d-9c28-8e9f36ea937a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestPost.test_create_node_invalid_storage_interface [0.090025s] ... 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-8fe437d7-3af5-4e50-830a-f6fa89b3f3b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.063351s] ... 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-965d6ae0-c485-430e-aef4-3af44bdfce88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0d374ff5-75be-421e-901f-b5ad81705b64", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/0d374ff5-75be-421e-901f-b5ad81705b64", "rel": "self"}, {"href": "http://localhost/portgroups/0d374ff5-75be-421e-901f-b5ad81705b64", "rel": "bookmark"}]}, {"uuid": "ab402217-d2d1-406d-a053-307169644903", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/ab402217-d2d1-406d-a053-307169644903", "rel": "self"}, {"href": "http://localhost/portgroups/ab402217-d2d1-406d-a053-307169644903", "rel": "bookmark"}]}, {"uuid": "7be9e3e3-7021-466d-bcf2-3d70790e08f9", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/7be9e3e3-7021-466d-bcf2-3d70790e08f9", "rel": "self"}, {"href": "http://localhost/portgroups/7be9e3e3-7021-466d-bcf2-3d70790e08f9", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=7be9e3e3-7021-466d-bcf2-3d70790e08f9"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.131748s] ... 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-bb8a916f-99fa-44cd-9de8-a66cfacc55ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.096179+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.095538s] ... 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-85f99942-7c70-44b9-9346-64d2d4de05be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.170838+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-66a1ab0d-5733-479f-94ae-9c66f9014d27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.170838+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_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.070197s] ... 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-e13a7885-c6cb-428c-836a-b0e216e067a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "8830c5c9-42d2-41d5-9de8-b90fb2cdb817", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/portgroups/8830c5c9-42d2-41d5-9de8-b90fb2cdb817", "rel": "self"}, {"href": "http://localhost/portgroups/8830c5c9-42d2-41d5-9de8-b90fb2cdb817", "rel": "bookmark"}]}, {"uuid": "d3d345aa-c0d5-42f5-b80c-10098d6ed6c5", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/d3d345aa-c0d5-42f5-b80c-10098d6ed6c5", "rel": "self"}, {"href": "http://localhost/portgroups/d3d345aa-c0d5-42f5-b80c-10098d6ed6c5", "rel": "bookmark"}]}, {"uuid": "d2e28341-66c9-4a3b-993a-b87b0555f5be", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/portgroups/d2e28341-66c9-4a3b-993a-b87b0555f5be", "rel": "self"}, {"href": "http://localhost/portgroups/d2e28341-66c9-4a3b-993a-b87b0555f5be", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=d2e28341-66c9-4a3b-993a-b87b0555f5be"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.064663s] ... 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-382a3f76-2ef1-46c2-8a91-8be46aca01b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.111362s] ... 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-dd3d8f53-7607-490d-bbb6-1c5cf75cb928 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.066645s] ... 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-b6949497-2d21-4fef-9dc0-469afffe863e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "02fee5c8-316e-42d5-aefc-83972a5dbc57", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/02fee5c8-316e-42d5-aefc-83972a5dbc57", "rel": "self"}, {"href": "http://localhost/portgroups/02fee5c8-316e-42d5-aefc-83972a5dbc57", "rel": "bookmark"}]}, {"uuid": "1bcbf096-8898-4af9-8144-a086c6337935", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/1bcbf096-8898-4af9-8144-a086c6337935", "rel": "self"}, {"href": "http://localhost/portgroups/1bcbf096-8898-4af9-8144-a086c6337935", "rel": "bookmark"}]}, {"uuid": "5e0dc292-bf93-4e1e-88d2-6095164b1c66", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/5e0dc292-bf93-4e1e-88d2-6095164b1c66", "rel": "self"}, {"href": "http://localhost/portgroups/5e0dc292-bf93-4e1e-88d2-6095164b1c66", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=5e0dc292-bf93-4e1e-88d2-6095164b1c66"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.048897s] ... 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-e08e42d0-f6c1-49a7-8bcb-23c04ef8de50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:02.310762+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_node.TestPost.test_create_node_name_empty_invalid [0.067637s] ... 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-88343b78-6353-4cae-bba4-ea98411ef95a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestListPortgroups.test_detail_against_single [0.047407s] ... 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-fa88ac5f-4e24-48f5-b2f9-990a0c6b62d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestPost.test_create_node_name_empty_not_acceptable [0.062481s] ... 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-c3bdc9a3-3b9d-463f-9fbd-63aebc61f548 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_detail_by_node_name_ok [0.049805s] ... 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-5ad8cc9d-d02b-425a-9d8c-89fe7aad08b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:02.409961+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_volume_connector.TestPatch.test_add_node_uuid [0.189843s] ... 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-9fd14e77-eeb9-452d-879b-26c833aea59d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.369428+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_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.035202s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.099176s] ... 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-6ccf8424-fd41-4045-b23f-a6ab99c8553c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.468328+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-0df7bca2-7a60-4ea2-8a97-09d3e3d87b6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.468328+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_portgroup.TestListPortgroups.test_detail_query [0.041785s] ... 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-cec60727-aecb-4a11-9503-26fe827c4e96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:02.486958+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_node.TestPost.test_create_node_network_interface_old_api_version [0.065642s] ... 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-2635ef72-b2eb-4247-ad4a-3b1ac7a23242 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_detail_query_false [0.048222s] ... 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-f92a0dff-ab29-46f4-91b2-52ea2393d164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-6490041b-728b-4451-8fc3-bc27c44bf126 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.124651s] ... 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-f00e28a6-bab1-4a98-866e-20f515d7d768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.048703s] ... 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-e8cf26e5-4b7b-477f-8753-ac1a7be66e54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "57339577-a62c-4a96-b903-462cbd294f7c", "created_at": "2024-03-18T18:16:02.586827+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/57339577-a62c-4a96-b903-462cbd294f7c", "rel": "self"}, {"href": "http://localhost/portgroups/57339577-a62c-4a96-b903-462cbd294f7c", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/57339577-a62c-4a96-b903-462cbd294f7c/ports", "rel": "self"}, {"href": "http://localhost/portgroups/57339577-a62c-4a96-b903-462cbd294f7c/ports", "rel": "bookmark"}]}, {"uuid": "a545655f-a2c1-49f6-9e5a-743bcc7ef529", "created_at": "2024-03-18T18:16:02.583445+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/a545655f-a2c1-49f6-9e5a-743bcc7ef529", "rel": "self"}, {"href": "http://localhost/portgroups/a545655f-a2c1-49f6-9e5a-743bcc7ef529", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/a545655f-a2c1-49f6-9e5a-743bcc7ef529/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a545655f-a2c1-49f6-9e5a-743bcc7ef529/ports", "rel": "bookmark"}]}, {"uuid": "3636e499-1090-4a2e-9771-7bd399f71f30", "created_at": "2024-03-18T18:16:02.579480+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/3636e499-1090-4a2e-9771-7bd399f71f30", "rel": "self"}, {"href": "http://localhost/portgroups/3636e499-1090-4a2e-9771-7bd399f71f30", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/3636e499-1090-4a2e-9771-7bd399f71f30/ports", "rel": "self"}, {"href": "http://localhost/portgroups/3636e499-1090-4a2e-9771-7bd399f71f30/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.031614s] ... 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-bf57a9eb-f87f-487d-b585-c1646e766143 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestPost.test_create_node_no_chassis_uuid [0.074915s] ... 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-721e3160-7a16-44bc-b3d7-050e74150c4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.623724+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_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.043176s] ... 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-f0654202-d7c6-4371-a890-899bccc105cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.036463s] ... 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-9c1ed2b7-b33c-4270-81f9-f6ad7edb4c59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.089518s] ... 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-821adb0f-0741-4410-bc85-ecae39dd6b35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.701740+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-432b2b73-fc58-4cbe-82b6-b3dec178ba5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:02.701740+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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.151135s] ... 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-b7bef6c3-71ea-4dba-b149-8831116ab9d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.676225+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.687887s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/e611c656-765f-43ff-afe2-60affaca690b 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-df83330d-4eec-4426-b378-962c047d5989 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e611c656-765f-43ff-afe2-60affaca690b", "created_at": "2024-03-18T18:16:02.562711+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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/e611c656-765f-43ff-afe2-60affaca690b", "rel": "self"}, {"href": "http://localhost/nodes/e611c656-765f-43ff-afe2-60affaca690b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e611c656-765f-43ff-afe2-60affaca690b/ports", "rel": "self"}, {"href": "http://localhost/nodes/e611c656-765f-43ff-afe2-60affaca690b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e611c656-765f-43ff-afe2-60affaca690b/states", "rel": "self"}, {"href": "http://localhost/nodes/e611c656-765f-43ff-afe2-60affaca690b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e611c656-765f-43ff-afe2-60affaca690b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e611c656-765f-43ff-afe2-60affaca690b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e611c656-765f-43ff-afe2-60affaca690b/volume", "rel": "self"}, {"href": "http://localhost/nodes/e611c656-765f-43ff-afe2-60affaca690b/volume", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.044325s] ... 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-c7fce866-433e-42c3-a7b3-57906338fabe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.062845s] ... 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-75e8d68b-fbd3-450a-baa1-afc7662f1580 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.036557s] ... 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-d5259190-cd3a-45f4-b3ba-a3758179a384 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_connector.TestPatch.test_add_root_non_existent [0.123075s] ... 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-4f8ec252-e326-4f5b-8b8d-58cc5199a020 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.095078s] ... 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-84a725c5-d675-4078-921e-f424fdda5de9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.859183+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-40c0554e-85e5-46bd-af57-7ce83c50e556 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:02.859183+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_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.084112s] ... 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-5600a16c-4c92-47d5-a5a0-3e4d157f6a07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1d35e19f-89d3-4077-a689-4fbe4a3c10ef", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/1d35e19f-89d3-4077-a689-4fbe4a3c10ef", "rel": "self"}, {"href": "http://localhost/portgroups/1d35e19f-89d3-4077-a689-4fbe4a3c10ef", "rel": "bookmark"}]}, {"uuid": "cd36fe73-ee7b-471a-b93b-a7122232d296", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/cd36fe73-ee7b-471a-b93b-a7122232d296", "rel": "self"}, {"href": "http://localhost/portgroups/cd36fe73-ee7b-471a-b93b-a7122232d296", "rel": "bookmark"}]}, {"uuid": "fca9dcd0-140e-4976-babb-490c84f2d6f8", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/fca9dcd0-140e-4976-babb-490c84f2d6f8", "rel": "self"}, {"href": "http://localhost/portgroups/fca9dcd0-140e-4976-babb-490c84f2d6f8", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.144196s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/360da832-fa07-41db-adc0-b35a72ed1316 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-807d3554-6a9a-460d-9afc-0afc173fb791 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.052947s] ... 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-f407e70b-b2e8-46cf-90de-c65454e4dc48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:02.919977+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_node.TestPost.test_create_node_owner_old_api_version [0.066134s] ... 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-124af480-3b22-4fd0-a330-70cd55a2c0d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.055723s] ... 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-fea20f77-1ae6-4226-b774-a1254e8f0660 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_connector.TestPatch.test_remove_mandatory_field [0.143448s] ... 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-10dd8000-e207-4f6f-87db-6a0059e38b47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.043671s] ... 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-35f38b73-bed8-46d8-8839-e76274af655a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ed5ee682-3c46-4def-810d-94e050d817b2", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/ed5ee682-3c46-4def-810d-94e050d817b2", "rel": "self"}, {"href": "http://localhost/portgroups/ed5ee682-3c46-4def-810d-94e050d817b2", "rel": "bookmark"}]}, {"uuid": "28a85aee-2f87-4d30-bfff-11098327a24a", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/28a85aee-2f87-4d30-bfff-11098327a24a", "rel": "self"}, {"href": "http://localhost/portgroups/28a85aee-2f87-4d30-bfff-11098327a24a", "rel": "bookmark"}]}, {"uuid": "1255d33e-7733-46df-8f07-347743644d29", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/1255d33e-7733-46df-8f07-347743644d29", "rel": "self"}, {"href": "http://localhost/portgroups/1255d33e-7733-46df-8f07-347743644d29", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.154497s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/nodes/ea2d5a81-4447-4500-a1b1-e24b27d580bb 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-e078a4a7-389f-492f-b3e0-21ee1f1142fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_recorded_project_scope [0.113573s] ... 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-29c86d1a-3676-4191-a409-8a6e5bb2a23c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.037768+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-47979ac3-b8bd-496f-8917-a727b32da048 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.037768+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.046900s] ... 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-9f35d549-6f50-42eb-9276-6bbe120338ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/74e8de80-8009-40d7-ab94-0668adfc7b5c", "rel": "self"}, {"href": "http://localhost/portgroups/74e8de80-8009-40d7-ab94-0668adfc7b5c", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/b32c3d24-b35c-4baf-9798-eaf1944197d2", "rel": "self"}, {"href": "http://localhost/portgroups/b32c3d24-b35c-4baf-9798-eaf1944197d2", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=b32c3d24-b35c-4baf-9798-eaf1944197d2"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.032468s] ... 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-75756300-5101-4fc4-81ba-9e1463cba73d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.048255s] ... 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-59b8e6e6-50b7-45a9-8844-cb818485ab10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestPost.test_create_node_owner_system_scope [0.100280s] ... 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-aba8bd2c-6b7b-4274-aa90-e080c1b55264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.141937+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-199ac129-3a16-4bdf-88d1-a2cce06076d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.141937+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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.214342s] ... 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-4e505096-6799-4fc1-9d30-bf4c37d105af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.079386+00:00", "updated_at": "2024-03-18T18:16:03.082469+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-dc110689-a44d-4e9d-9096-bbfa43c0ad93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.079386+00:00", "updated_at": "2024-03-18T18:16:03.082469+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.049732s] ... 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-63175cf4-00a5-4e93-ab6b-c4481e4136aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.190033+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_node.TestPost.test_create_node_protected_not_allowed [0.064228s] ... 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-26f232e8-b2c5-455d-b2d2-8609c3014fe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.049102s] ... 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-8b707e94-72ed-4936-b343-f12c7f80896b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.032049s] ... 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_volume_connector.TestPatch.test_remove_node_id [0.108118s] ... 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-e5b63c5f-0320-4d51-b586-a5a209d79ec3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.283690s] ... 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-6fa7f857-4eaf-4ca9-adbb-bdb6339467b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:03.117154+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.042776s] ... 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-e88c954e-661e-481e-83c5-a5fee5d85671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.044550s] ... 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-0a22696c-9ec4-46f8-bff0-4d33c473a2e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.365188+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_node.TestPost.test_create_node_reserved_name [0.183903s] ... 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-850c8d85-5dee-414f-82b3-0bb91ed31f3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-e9973c65-f049-4c1a-ba33-e8d84d3fc278 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-babe2aec-0ce7-4454-a2bb-aef1396a92c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-16810d12-1a20-4e86-90c5-27ec555e3ee4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-d8e6bdb0-5d4e-4eda-8796-2d59d1a9f222 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-a05fad75-9edd-4ab4-884e-fc70676c01b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.043658s] ... 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-762450fb-30c5-440a-b852-e2aaf4bef11f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.411792+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.055258s] ... 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-a466a500-8a84-4a82-9ed2-be89a05fa992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.458720+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.154619s] ... 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-2c592a2a-fb02-4235-92ea-00dd2cb33d4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestPost.test_create_node_resource_class [0.091401s] ... 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-caaf091f-3b5a-4f16-a043-42b2767084c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.481675+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-8c3420c5-502d-4a3e-8464-dab0786fbbd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:03.481675+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_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.193121s] ... 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-bcd397cb-2080-4f76-b4d1-d735b056ee60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_portgroup.TestListPortgroups.test_links [0.069064s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-358ae5c9-952f-4fd4-af5a-309b6e00d4cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "created_at": "2024-03-18T18:16:03.512499+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/5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "rel": "self"}, {"href": "http://localhost/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280/ports", "rel": "self"}, {"href": "http://localhost/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de645ef3-ae08-4da7-9cfa-0e2dbd8a4d61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "created_at": "2024-03-18T18:16:03.512499+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/5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "rel": "self"}, {"href": "http://localhost/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280/ports", "rel": "self"}, {"href": "http://localhost/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e6c0355-159f-4636-a285-0401f30a1c3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "created_at": "2024-03-18T18:16:03.512499+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/5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "rel": "self"}, {"href": "http://localhost/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280/ports", "rel": "self"}, {"href": "http://localhost/portgroups/5a72944d-ca51-4d8c-8c1d-39c74e1ca280/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.065154s] ... 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-26149ae6-9835-45db-9661-0ee825a894fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_many [0.056254s] ... 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-ab7675b9-795c-4063-8312-453ec6d24164 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7af49749-6b2a-4385-a4ad-3faddaad7861", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/7af49749-6b2a-4385-a4ad-3faddaad7861", "rel": "self"}, {"href": "http://localhost/portgroups/7af49749-6b2a-4385-a4ad-3faddaad7861", "rel": "bookmark"}]}, {"uuid": "9647c001-b082-4c5b-b25c-a5e7546bc3a6", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/9647c001-b082-4c5b-b25c-a5e7546bc3a6", "rel": "self"}, {"href": "http://localhost/portgroups/9647c001-b082-4c5b-b25c-a5e7546bc3a6", "rel": "bookmark"}]}, {"uuid": "de4c49f8-d6ba-4721-b7b7-35ebe9a7cb3a", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/de4c49f8-d6ba-4721-b7b7-35ebe9a7cb3a", "rel": "self"}, {"href": "http://localhost/portgroups/de4c49f8-d6ba-4721-b7b7-35ebe9a7cb3a", "rel": "bookmark"}]}, {"uuid": "5caa2f09-adc0-446b-8eab-39fa17eb4f80", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/5caa2f09-adc0-446b-8eab-39fa17eb4f80", "rel": "self"}, {"href": "http://localhost/portgroups/5caa2f09-adc0-446b-8eab-39fa17eb4f80", "rel": "bookmark"}]}, {"uuid": "1f8db6a1-46d7-4f1f-baba-3ba3e0458843", "address": "52:54:00:cf:2d:34", "name": "portgroup4", "links": [{"href": "http://localhost/v1/portgroups/1f8db6a1-46d7-4f1f-baba-3ba3e0458843", "rel": "self"}, {"href": "http://localhost/portgroups/1f8db6a1-46d7-4f1f-baba-3ba3e0458843", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.115169s] ... 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-69a06dab-0627-41b0-8098-65632f0c1b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.039148s] ... 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-6c1f7734-1168-4465-b588-c9a419dad650 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_node.TestPost.test_create_node_specify_conductor_group [0.087289s] ... 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-941dc8a6-f334-4266-aace-37a3a64b7b7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:03.639409+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-b179f57b-370c-4c5d-98a0-672eaf6fc1e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:03.639409+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.180114s] ... 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-2edb3db8-71d2-4cad-9969-6fa655abddbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.059089s] ... 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-c28b348d-0c44-48e6-b447-0678b73536c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "c6ee32c0-cf78-45e9-b3c6-15d90c650642", "address": "aa:bb:cc:dd:ee:f1", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/c6ee32c0-cf78-45e9-b3c6-15d90c650642", "rel": "self"}, {"href": "http://localhost/portgroups/c6ee32c0-cf78-45e9-b3c6-15d90c650642", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.063642s] ... 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-e2f8bcbd-e4c2-46b1-a94e-bba0de39770b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.034879s] ... 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-ee098fc9-11fb-4a79-a8ea-400067e7adc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.032374s] ... 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-706d7c7e-3c27-4800-bd1f-e5cc2a0f1bb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.114202s] ... 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-460081e4-2493-4641-84a8-3c14b04fe67c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.177563s] ... 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-4e944c2c-de2c-4551-9202-8ac8f20c90d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.040235s] ... 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-02da67ac-774d-4c16-861a-744391a29ed5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.121266s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/9b798dd3-4284-413b-bca2-e2199ed82c9a/ports WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1e920ec-b7e2-4fcb-8749-5266397aacb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f72f8f79-cce1-47ba-8be3-cf0345450100", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/f72f8f79-cce1-47ba-8be3-cf0345450100", "rel": "self"}, {"href": "http://localhost/ports/f72f8f79-cce1-47ba-8be3-cf0345450100", "rel": "bookmark"}]}, {"uuid": "83808193-19fc-4a37-96b5-64e2722a7736", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/83808193-19fc-4a37-96b5-64e2722a7736", "rel": "self"}, {"href": "http://localhost/ports/83808193-19fc-4a37-96b5-64e2722a7736", "rel": "bookmark"}]}]} DEBUG util.py:445: GET /v1/portgroups/9b798dd3-4284-413b-bca2-e2199ed82c9a/ports/detail WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8b5241da-e023-47e3-bc77-6d709ec48b90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f72f8f79-cce1-47ba-8be3-cf0345450100", "created_at": "2024-03-18T18:16:03.858871+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/f72f8f79-cce1-47ba-8be3-cf0345450100", "rel": "self"}, {"href": "http://localhost/ports/f72f8f79-cce1-47ba-8be3-cf0345450100", "rel": "bookmark"}], "portgroup_uuid": "9b798dd3-4284-413b-bca2-e2199ed82c9a"}, {"uuid": "83808193-19fc-4a37-96b5-64e2722a7736", "created_at": "2024-03-18T18:16:03.862613+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/83808193-19fc-4a37-96b5-64e2722a7736", "rel": "self"}, {"href": "http://localhost/ports/83808193-19fc-4a37-96b5-64e2722a7736", "rel": "bookmark"}], "portgroup_uuid": "9b798dd3-4284-413b-bca2-e2199ed82c9a"}]} DEBUG util.py:445: GET /v1/portgroups/9b798dd3-4284-413b-bca2-e2199ed82c9a/ports?limit=1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74810854-260b-4b69-9f4f-14e4407d8cad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "f72f8f79-cce1-47ba-8be3-cf0345450100", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/f72f8f79-cce1-47ba-8be3-cf0345450100", "rel": "self"}, {"href": "http://localhost/ports/f72f8f79-cce1-47ba-8be3-cf0345450100", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=f72f8f79-cce1-47ba-8be3-cf0345450100"} DEBUG util.py:445: GET /v1/portgroups/9b798dd3-4284-413b-bca2-e2199ed82c9a/ports/413f32af-bf69-466e-8dd9-2da59b02d80c 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/9b798dd3-4284-413b-bca2-e2199ed82c9a/ports/94b9c1d9-f848-4c84-8dca-7480c29213ce WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d91f681-9d99-4f0c-afbf-58dc749a9f98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_volume_connector.TestPatch.test_replace_invalid_power_state [0.148903s] ... 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-cfdd05ce-e218-4755-b809-da2743b26163 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.186004s] ... 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-0e0b2b84-bcc8-42df-81b0-1456607f5c96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.076464s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/portgroups/4821c0fc-3522-42ae-bfeb-0fc8ebd0e2d1/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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.131891s] ... 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_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.110872s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.194281s] ... 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-0f13fc56-9f2d-45af-9d55-9247f4a48692 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:04.032570+00:00", "updated_at": "2024-03-18T18:16:04.099567+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.062070s] ... 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-4dd691c4-7faa-49cc-b992-c4058bbcc7bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.042221s] ... 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-a43fdf03-39ca-474c-80ed-c2ae4c3c2c9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.052012s] ... 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-3a61c9d7-8401-45ce-9c7c-11307c568bd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.128691s] ... 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-b4571734-0d5c-407b-a9c8-0c5d4144bfbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.059171s] ... 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-2787baee-873e-434f-967e-c29336924bdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:04.244433+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_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.040913s] ... 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-a8f6aa18-f5a1-499b-bee0-1cca7b8c5063 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestTraits.test_delete_all_traits [0.074888s] ... 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-2b10e92b-815b-4bc7-b1db-0fcd4dc493af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.049054s] ... 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-10b157a5-aaef-4722-b637-5af4654fb068 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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_portgroup.TestListPortgroups.test_sort_key [0.124150s] ... 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-5d94f699-ea91-4960-9af3-0f6a3c940563 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "2d3a8617-62c4-40ab-a698-cbed5f50f677", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/2d3a8617-62c4-40ab-a698-cbed5f50f677", "rel": "self"}, {"href": "http://localhost/portgroups/2d3a8617-62c4-40ab-a698-cbed5f50f677", "rel": "bookmark"}]}, {"uuid": "81aa50cd-fe55-4635-910a-474e534d731e", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/81aa50cd-fe55-4635-910a-474e534d731e", "rel": "self"}, {"href": "http://localhost/portgroups/81aa50cd-fe55-4635-910a-474e534d731e", "rel": "bookmark"}]}, {"uuid": "f1cbe297-217b-4e81-9679-52b5d7a08ac1", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/f1cbe297-217b-4e81-9679-52b5d7a08ac1", "rel": "self"}, {"href": "http://localhost/portgroups/f1cbe297-217b-4e81-9679-52b5d7a08ac1", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.053731s] ... 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-a0bcf627-fec0-400b-bb12-d062840010c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:04.384985+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.111448s] ... 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-383b2efc-668f-4f5d-9066-72e2fa72aa7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_connector.TestPatch.test_update_byid [0.063671s] ... 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-16e69177-80df-487c-8609-b97f7351118a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:04.446657+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.123004s] ... 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-70390a79-123a-4b0e-b847-0d32d25dc69c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "2e524ce0-a660-4939-837d-382086f9a9e7", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/2e524ce0-a660-4939-837d-382086f9a9e7", "rel": "self"}, {"href": "http://localhost/portgroups/2e524ce0-a660-4939-837d-382086f9a9e7", "rel": "bookmark"}]}, {"uuid": "d7c4b7a0-7e6a-45d0-8c0a-48e42f08dccb", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/d7c4b7a0-7e6a-45d0-8c0a-48e42f08dccb", "rel": "self"}, {"href": "http://localhost/portgroups/d7c4b7a0-7e6a-45d0-8c0a-48e42f08dccb", "rel": "bookmark"}]}, {"uuid": "683e6427-09ac-48d8-af12-6a0eb2ae4739", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/683e6427-09ac-48d8-af12-6a0eb2ae4739", "rel": "self"}, {"href": "http://localhost/portgroups/683e6427-09ac-48d8-af12-6a0eb2ae4739", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.040373s] ... 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_volume_connector.TestPatch.test_update_not_found [0.040890s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/connectors/97800c8b-325c-40ca-934e-00ccea701412 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-394db5c6-2d41-4ea6-9e2b-d837f4491967 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 97800c8b-325c-40ca-934e-00ccea701412 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.114473s] ... 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-5bdcdb92-604b-451b-acb4-9c96a70cbb09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_connector.TestPost.test_create_volume_connector [0.058012s] ... 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-6b3f27cd-295a-40c9-ab93-6fe278f9e256 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-70fa3c97-2784-4638-ba26-9dd12fe76cfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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_node.TestTraits.test_delete_trait [0.078384s] ... 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-f4c5a578-1b0e-47b3-9a48-1d3de4b869d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestTraits.test_delete_trait_fails_if_node_locked [0.052461s] ... 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-fdf48990-9eec-4ddd-8cad-3d67a80e983a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestPost.test_create_node_specify_interfaces [0.970779s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'c5ff375a-59d6-4462-9098-ef8ebb85f442', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/c5ff375a-59d6-4462-9098-ef8ebb85f442 DEBUG util.py:445: Openstack-Request-Id: req-32299d79-4f6b-4cfa-960f-69284173d994 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "c5ff375a-59d6-4462-9098-ef8ebb85f442", "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/c5ff375a-59d6-4462-9098-ef8ebb85f442", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/ports", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/states", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/volume", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5fcc005b-7138-4ce2-ae74-4ae981d85d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "c5ff375a-59d6-4462-9098-ef8ebb85f442", "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/c5ff375a-59d6-4462-9098-ef8ebb85f442", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/ports", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/states", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/volume", "rel": "self"}, {"href": "http://localhost/nodes/c5ff375a-59d6-4462-9098-ef8ebb85f442/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '911702ff-38a0-4d53-8bec-8903e0b3edf3', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/911702ff-38a0-4d53-8bec-8903e0b3edf3 DEBUG util.py:445: Openstack-Request-Id: req-70bc3f7b-3d2a-465b-b49e-4ae816cf972e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "911702ff-38a0-4d53-8bec-8903e0b3edf3", "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/911702ff-38a0-4d53-8bec-8903e0b3edf3", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/ports", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec- DEBUG util.py:445: 8903e0b3edf3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/states", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/volume", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6187fce2-287f-464a-9b16-2ec3376201e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "911702ff-38a0-4d53-8bec-8903e0b3edf3", "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/911702ff-38a0-4d53-8bec-8903e0b3edf3", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/ports", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/states", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/volume", "rel": "self"}, {"href": "http://localhost/nodes/911702ff-38a0-4d53-8bec-8903e0b3edf3/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '92b6c79d-65f0-430b-8ae0-087439defb82', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/92b6c79d-65f0-430b-8ae0-087439defb82 DEBUG util.py:445: Openstack-Request-Id: req-c789a9b8-24ba-424c-a11b-f8728ae57672 DEBUG util.py:445: X-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": "92b6c79d-65f0-430b-8ae0-087439defb82", "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/92b6c79d-65f0-430b-8ae0-087439defb82", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/ports", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/states", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/volume", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06228314-7c9d-4c5c-954f-f0f75134a304 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "92b6c79d-65f0-430b-8ae0-087439defb82", "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/92b6c79d-65f0-430b-8ae0-087439defb82", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/ DEBUG util.py:445: nodes/92b6c79d-65f0-430b-8ae0-087439defb82/ports", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/states", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/volume", "rel": "self"}, {"href": "http://localhost/nodes/92b6c79d-65f0-430b-8ae0-087439defb82/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '75587bee-7654-479e-9a06-de42f9eb8c98', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/75587bee-7654-479e-9a06-de42f9eb8c98 DEBUG util.py:445: Openstack-Request-Id: req-d36f688f-a0aa-4b91-833d-d533f8685608 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "75587bee-7654-479e-9a06-de42f9eb8c98", "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/75587bee-7654-479e-9a06-de42f9eb8c98", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/ports", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/states", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/volume", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-313b183d- DEBUG util.py:445: 3a77-4599-bd30-fb65990beec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "75587bee-7654-479e-9a06-de42f9eb8c98", "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/75587bee-7654-479e-9a06-de42f9eb8c98", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/ports", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/states", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/volume", "rel": "self"}, {"href": "http://localhost/nodes/75587bee-7654-479e-9a06-de42f9eb8c98/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '58faa200-ce7a-4e44-b1a1-d41ee095d694', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/58faa200-ce7a-4e44-b1a1-d41ee095d694 DEBUG util.py:445: Openstack-Request-Id: req-8e03a921-a7ee-487c-a16a-6bd207d6f56e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "58faa200-ce7a-4e44-b1a1-d41ee095d694", "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/58faa200-ce7a-4e44-b1a1-d41ee095d694", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/ports", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/states", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/volume", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5adf8a7-c217-4f1c-be47-3406b9abff6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "58faa200-ce7a-4e44-b1a1-d41ee095d694", "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/58faa200-ce7a-4e44-b1a1-d41ee095d694", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/ports", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/states", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/volume", "rel": "self"}, {"href": "http://localhost/nodes/58faa200-ce7a-4e44-b1a1-d41ee095d694/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WIT DEBUG util.py:445: H {'uuid': '45551dd7-4613-497d-b93a-0f3e6053df4b', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/45551dd7-4613-497d-b93a-0f3e6053df4b DEBUG util.py:445: Openstack-Request-Id: req-79bf76a7-8d2f-4887-9bd3-73ff2650aff6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "45551dd7-4613-497d-b93a-0f3e6053df4b", "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/45551dd7-4613-497d-b93a-0f3e6053df4b", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/ports", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/states", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/volume", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39e53846-1723-450f-9044-3ba1c0a74e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "45551dd7-4613-497d-b93a-0f3e6053df4b", "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/45551dd7-4613-497d-b93a-0f3e6053df4b", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/ports", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/states", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/volume", "rel": "self"}, {"href": "http://localhost/nodes/45551dd7-4613-497d-b93a-0f3e6053df4b/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '8ca4868e-263a-48f2-8442-48ff2e8e41a3', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/8ca4868e-263a-48f2-8442-48ff2e8e41a3 DEBUG util.py:445: Openstack-Request-Id: req-adf2366e-49b9-42ad-a31b-46cc96b6e47e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8ca4868e-263a-48f2-8442-48ff2e8e41a3", "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/8ca4868e-263a-48f2-8442-48ff2e8e41a3", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/ports", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/ports", DEBUG util.py:445: "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/states", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/volume", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1daf689a-fd2d-4410-be1e-b43f77e4dba6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "8ca4868e-263a-48f2-8442-48ff2e8e41a3", "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/8ca4868e-263a-48f2-8442-48ff2e8e41a3", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/ports", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/states", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/volume", "rel": "self"}, {"href": "http://localhost/nodes/8ca4868e-263a-48f2-8442-48ff2e8e41a3/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '83a2d89c-9b48-43e1-8320-2f74b2544c41', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/83a2d89c-9b48-43e1-8320-2f74b2544c41 DEBUG util.py:445: Openstack-Request-Id: req-846252ab-7831-4abd-87e5-19a4a3c72d6d DEBUG util.py:445: X-Openstack-Ironic-Api-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": "83a2d89c-9b48-43e1-8320-2f74b2544c41", "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/83a2d89c-9b48-43e1-8320-2f74b2544c41", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/ports", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/states", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/volume", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-069f0830-7453-47c0-8fbf-db44935b5962 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "83a2d89c-9b48-43e1-8320-2f74b2544c41", "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/83a2d89c-9b48-43e1-8320-2f74b2544c41", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48- DEBUG util.py:445: 43e1-8320-2f74b2544c41/ports", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/states", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/volume", "rel": "self"}, {"href": "http://localhost/nodes/83a2d89c-9b48-43e1-8320-2f74b2544c41/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'd21f8053-5a39-4eae-9924-2fb6e5abea50', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/d21f8053-5a39-4eae-9924-2fb6e5abea50 DEBUG util.py:445: Openstack-Request-Id: req-a857baa1-6730-4d5a-98a7-a6f08b99054c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d21f8053-5a39-4eae-9924-2fb6e5abea50", "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/d21f8053-5a39-4eae-9924-2fb6e5abea50", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/ports", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/states", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/volume", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58c194d2-4b29-4df0-9ba2-2d4ec DEBUG util.py:445: 42a1c93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "d21f8053-5a39-4eae-9924-2fb6e5abea50", "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/d21f8053-5a39-4eae-9924-2fb6e5abea50", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/ports", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/states", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/volume", "rel": "self"}, {"href": "http://localhost/nodes/d21f8053-5a39-4eae-9924-2fb6e5abea50/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': '2377eb56-3a39-4e39-ad94-aa41c08b952f', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/2377eb56-3a39-4e39-ad94-aa41c08b952f DEBUG util.py:445: Openstack-Request-Id: req-389a4f70-a352-44ab-91f2-f96ee4cec347 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "2377eb56-3a39-4e39-ad94-aa41c08b952f", "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/2377eb56-3a39-4e39-ad94-aa41c08b952f", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/ports", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/states", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/volume", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-240265ae-cbe4-408f-bfcc-a36cb25bec98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "2377eb56-3a39-4e39-ad94-aa41c08b952f", "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/2377eb56-3a39-4e39-ad94-aa41c08b952f", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/ports", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/states", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/volume", "rel": "self"}, {"href": "http://localhost/nodes/2377eb56-3a39-4e39-ad94-aa41c08b952f/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'e6873e16-481 DEBUG util.py:445: a-4f27-954f-1596958e76dd', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/e6873e16-481a-4f27-954f-1596958e76dd DEBUG util.py:445: Openstack-Request-Id: req-84c20461-4e5a-4ddc-b7e5-1c593ed2b426 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e6873e16-481a-4f27-954f-1596958e76dd", "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/e6873e16-481a-4f27-954f-1596958e76dd", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/ports", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/states", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/volume", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e4725eb-d51d-48c5-a2dd-deda4ed2bd75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "e6873e16-481a-4f27-954f-1596958e76dd", "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/e6873e16-481a-4f27-954f-1596958e76dd", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/ports", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/states", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e6873e16-481a-4f27-954f-1596958e76dd/volume", "rel": "self"}, {"href": "http://localhost/nodes/e6873e16-481a-4f27-954f-1596958e76dd/volume", "rel": "bookmark"}]} DEBUG util.py:445: POST /v1/nodes WITH {'uuid': 'b30def55-94d1-42ce-a81f-fe8b3504605f', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/b30def55-94d1-42ce-a81f-fe8b3504605f DEBUG util.py:445: Openstack-Request-Id: req-8a99eeec-3303-48c4-98e8-b9dc637db348 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "b30def55-94d1-42ce-a81f-fe8b3504605f", "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/b30def55-94d1-42ce-a81f-fe8b3504605f", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/ports", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/ports", "rel": "bookmark"}], DEBUG util.py:445: "states": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/states", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/volume", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-850cd848-f4d9-4a0b-a812-378e62074b96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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": "b30def55-94d1-42ce-a81f-fe8b3504605f", "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/b30def55-94d1-42ce-a81f-fe8b3504605f", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/ports", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/states", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/volume", "rel": "self"}, {"href": "http://localhost/nodes/b30def55-94d1-42ce-a81f-fe8b3504605f/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.115866s] ... 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-1cb02098-71fc-4098-99ac-75911c705056 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:04.702059+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-3f4ea81c-c308-4bd3-ad1b-cf21e9ae17c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:04.702059+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.142637s] ... 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-a23b82b0-426e-4685-9cfd-770ce5334802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.360185s] ... 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-d4962c7a-d2bb-403e-bcab-f250f693b917 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-9a87bef3-7bcc-4084-a670-3d30abbcf9a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-48899492-1092-4a6b-9f4d-92df8983e23b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-b41a2aa9-f3b4-4d96-86e5-a2b88ac4ac85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.029581s] ... 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-0b3a7d53-0d97-4f80-9d61-c814fa252bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_connector.TestPost.test_create_volume_connector_error [0.090157s] ... 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-c506be43-df60-4212-9c09-473380830a3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPost.test_create_node_specify_interfaces_bad_version [0.218268s] ... 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-c0d291bf-5f02-4a83-90a4-9d80e3be48f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-9f276e4f-e470-4440-9834-2018aac98086 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-7d7d3b1f-3a59-4ae0-af22-de4bb28be335 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-1d9406a1-9b2f-48b7-af73-674094a559cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-1981d65e-9294-42da-9239-dffea851d16e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-e4d92a13-c2e1-4bd1-8d44-e67d3c04bb7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-95d9017e-31c4-475b-8bf2-bca51f24fb92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-619e8001-0720-4de7-988e-8dbfc3e86da9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestPatch.test_add_multi [0.061933s] ... 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-f8458122-5f44-46ef-ac8d-7f58b403bc6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:04.930204+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_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.164396s] ... 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-e4dd15e1-949e-42a5-9fff-61a7c3eaef7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.059620s] ... 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-2562785a-784c-434c-bb7e-d5197b476f76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.048266s] ... 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-b1d5a77b-e7fb-418a-bdb3-ba08ad61acbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.060685s] ... 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-758bcb0f-b894-43ac-b59e-36d629bf6423 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestPatch.test_add_node_uuid [0.058327s] ... 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-0270210e-ba1f-4eb8-a5ee-162fb200e281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.043468+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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.164192s] ... 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/1eb6a239-a2de-4df6-95fa-151cfb6c7bd4 DEBUG util.py:445: Openstack-Request-Id: req-3712f337-1acd-4b97-ad7a-1d61099694ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1eb6a239-a2de-4df6-95fa-151cfb6c7bd4", "created_at": "2024-03-18T18:16:05.049873+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1eb6a239-a2de-4df6-95fa-151cfb6c7bd4", "rel": "self"}, {"href": "http://localhost/volume/connectors/1eb6a239-a2de-4df6-95fa-151cfb6c7bd4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/connectors/1eb6a239-a2de-4df6-95fa-151cfb6c7bd4 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-27f8bff2-0953-4609-90cf-e492f221dfba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1eb6a239-a2de-4df6-95fa-151cfb6c7bd4", "created_at": "2024-03-18T18:16:05.049873+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1eb6a239-a2de-4df6-95fa-151cfb6c7bd4", "rel": "self"}, {"href": "http://localhost/volume/connectors/1eb6a239-a2de-4df6-95fa-151cfb6c7bd4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.107284s] ... 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-a6d4af67-ac5d-4d9a-8682-48af611eae7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.057428s] ... 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-556d430f-566f-47f6-97b8-246ba6f4427c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.093378+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.093587s] ... 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-d0b3921c-6738-4c85-b440-14b911d918d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.135443+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-ef10b982-3693-464b-a2db-d6dd327c4d57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.135443+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.059321s] ... 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-008e2ad9-e410-4127-9b6c-6261c20be292 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.121189s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.082425s] ... 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-ca2702f3-2e8d-408f-94bc-5177807bbc6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.222948+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-328a4b2f-2992-4c73-9136-8f7b3a845fb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.222948+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.053444s] ... 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-5a163001-48aa-4a7f-847b-7871d5479c43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.213157+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.145083s] ... 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-5a806592-719d-4c82-8dc9-c653635d0dfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.086816s] ... 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-2db80514-cd09-4ddd-85f1-e2092a16be2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.052628s] ... 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-eb27fd85-3b14-44c7-bbd8-cb424fa3089c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.083233s] ... 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-e30d1064-018e-4e65-b1ef-71f4e241fdc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.305764+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-16c80107-b850-426c-bbfe-a95286dbf016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.305764+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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.091711s] ... 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-070dbc5f-faab-48de-8bde-98f081bffcc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.135487s] ... 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-77dee3bb-79f0-480f-af03-0a7c5974d0dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.084279s] ... 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-d1dc666b-c7f4-4fcc-a7f2-28b50fc49bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.392370+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-72742f42-b59d-4de2-8e46-5f3a6768ff0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.392370+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.TestTraits.test_get_all_traits_fails_with_node_not_found [0.050601s] ... 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-896e3395-7f28-45aa-881d-f8be51e5d877 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.094087s] ... 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-c92931ef-b0a4-42d4-a680-8b50c9d68a72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_conductor_group [0.083022s] ... 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-9910d240-8120-4f09-bc3d-6443fa1c623c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.475232+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-e8cd8060-2df4-48b3-b089-426fba3691e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:05.475232+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_portgroup.TestPatch.test_remove_multi [0.240162s] ... 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-31bffae7-47f7-45a6-b1a3-e1ba6c77e52f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.351173+00:00", "updated_at": "2024-03-18T18:16:05.372830+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-d29eb161-6e29-4514-beb5-09be61fbfc61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.351173+00:00", "updated_at": "2024-03-18T18:16:05.372830+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.085081s] ... 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-8671435b-f76c-4921-b44c-6560d6f5ef46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.558450+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-cd0dec41-24fb-416d-9b37-3bdf26ea2e31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:05.558450+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.053024s] ... 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-80716f93-3234-4c81-95a5-99ab54dfbd82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.153534s] ... 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-af85af04-99e9-45fe-a502-52052a30fe1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.153567s] ... 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-68b87321-49e1-45b0-8b4a-0f9a4f13576b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.061109s] ... 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-815f783c-3360-4570-a762-1a6086d8a330 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.051626s] ... 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-791f03a9-e9c8-4ffa-a23a-a1e4b52f90c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.048229s] ... 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-13cacefa-9ff5-4e10-ac90-463d57a3d834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestPatch.test_remove_uuid [0.051675s] ... 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-86740e50-59ea-4352-9fa0-5372d722444a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.076094s] ... 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-96b757c7-1c04-45c2-ba3c-8bf541d2121f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.053463s] ... 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-60cc4a89-9bb4-41ed-82d0-86aad61e5bc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.060066s] ... 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-c4383026-492c-4d9f-844e-c06a09cca44f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPost.test_post_ports_subresource_no_node_id [0.035651s] ... 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.180144s] ... 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-0711d615-28b1-4654-9fa2-c63e47df46bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestPatch.test_replace_multi [0.056407s] ... 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-db2ac198-a0c4-417f-a357-85deda0c804e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.773138+00:00", "updated_at": "2024-03-18T18:16:05.780621+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.043965s] ... 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-cb3e0992-4dd6-4c55-8b34-82d1497fa6e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.050658s] ... 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-207638eb-f43e-41da-b2c7-5d8213edeab5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.031843s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.193477s] ... 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-4cb70a5d-eb80-4858-963b-4933698b8a27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.857835+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': 'ddbe0773-886b-4acd-8622-aaa681f17b9a', '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-a0988184-0271-4798-b2b3-a1ff84efbd37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.056749s] ... 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-48dcd917-871d-4a79-ad94-f105ddef1c72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.884825+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.TestPost.test_post_volume_targets_subresource [0.059249s] ... 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-cbeca2e6-97cd-4b49-8a41-d7737d4252b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestTraits.test_set_all_traits [0.130844s] ... 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-eaceb24b-edfd-485e-82d9-175533b46e4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.049018s] ... 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-13bf7a4d-ee0f-4d8e-aa7e-8265a1a35c23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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_portgroup.TestPatch.test_replace_singular [0.057237s] ... 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-b6876b35-792a-41ec-8e80-4569e2cc23e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:05.993358+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_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.139040s] ... 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-413fdc12-e829-424c-9819-882ae8009e49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.016868+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-7fc77c6f-8c11-46a7-b28a-f7003f4bb21e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.016868+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.056559s] ... 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-fb5a20e2-d4b2-4cc3-81ef-18905360b2e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.150959s] ... 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-efc88406-f780-4bc5-b59e-a50e0319f44f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestPatch.test_update_byaddress_not_allowed [0.037146s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.211540s] ... 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-fdd56dce-0af3-41b1-a30e-72c4ff81b8e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_portgroup.TestPatch.test_update_byid [0.054588s] ... 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-7a35cc28-7c03-4d83-b89d-353f1696a21a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.140840+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_portgroup.TestPatch.test_update_byid_invalid_api_version [0.053810s] ... 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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.151164s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.221590s] ... 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-d86941e5-0a56-4df4-9658-2fcb5c73d5d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.256961+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_node.TestPost.test_vendor_passthru_by_name [0.179999s] ... 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-2b30dcd6-f3fb-409e-b2e6-55958c6981a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.089751s] ... 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-bb134894-67d0-4aaa-9288-abb0e82698d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.271952+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_portgroup.TestPatch.test_update_byname_with_json [0.059015s] ... 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-33711749-9452-4507-ae68-649f2081deb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.340819+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.TestPost.test_vendor_passthru_delete [0.065261s] ... 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-f1a5b73f-3f08-4d52-837d-82ea8d378ed7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_target.TestDelete.test_delete_volume_target_byid [0.136651s] ... 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-f0d69c46-be62-4d54-80d6-48e520346100 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestTraits.test_set_all_traits_rejects_bad_trait [0.173075s] ... 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-bda2e26c-9218-4af0-820d-ecda8f6b333a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestPatch.test_update_in_inspecting_allowed [0.060234s] ... 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-427dbb9c-4421-4316-9b4f-e90dbac43b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:06.399245+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_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.069598s] ... 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-f47ee6ce-0910-4e30-b015-a5ca8afd6a6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.106288s] ... 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_node.TestTraits.test_set_all_traits_rejects_no_body [0.148323s] ... 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-7d44d0bf-fdb6-412c-8ab3-8f8d96ed3238 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_portgroup.TestPatch.test_update_invalid_name [0.049610s] ... 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-3f848697-942e-468e-8e3a-7a87f8b34d20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.064686s] ... 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-edc25c69-bc07-481e-a140-2d2c42cce072 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_portgroup.TestPatch.test_update_not_found [0.043528s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/portgroups/05724778-9dcf-49f1-802f-3cc0279714bb 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-ecc1280a-73fb-4010-a7dc-f78db5f608cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 05724778-9dcf-49f1-802f-3cc0279714bb could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.089757s] ... 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-b3043383-33bd-4ce1-b01f-ed23c125fd5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.081364s] ... 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-49c95f3d-0017-4642-8391-e5cbe493425b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.629749+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_volume_target.TestDelete.test_delete_volume_target_node_locked [0.111026s] ... 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-be979445-24c4-4bb9-91d1-7e14a3a37b2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.083943s] ... 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-e900fa15-be09-4018-bf1b-73cfa32e094b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.130701s] ... 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-e8950ece-46c0-45a8-823d-57c4b746d3cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_target.TestPatch.test_add_multi [0.124575s] ... 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-38115b68-60c0-455f-bd66-86b3537c4284 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.774048+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_portgroup.TestPatch.test_update_portgroup_mode_properties [0.130245s] ... 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-73497cd2-f4e1-489c-b3d1-3fb1544bc7f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:06.845903+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: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.087845s] ... 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-28a446e1-7a37-48db-b24e-1f0bbe768b8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_volume_target.TestPatch.test_add_node_id [0.094126s] ... 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-da992c24-0127-4691-b428-0b93db7638f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestPost.test_vendor_passthru_get [0.586161s] ... 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-5d7ddc61-01b5-4725-ac7b-942895b13dcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.121335s] ... 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-4f30ce57-7d85-4c94-a70a-7632ab577379 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-2f24b885-4cbf-4b6c-9eeb-f0ca62350fcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.157342s] ... 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-d52fc71a-2379-4f3f-8750-0b97f6f0ad3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.065528s] ... 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-bbd0d55f-5dce-4279-b459-3d8cd4274eb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:07.053788+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.TestPost.test_vendor_passthru_methods [0.129256s] ... 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-05b35cbb-5078-4edb-a2d9-51692679f9cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-9f8523e9-40c1-4933-9771-2eec55c5466b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.045145s] ... 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.TestPost.test_vendor_passthru_no_such_method [0.068670s] ... 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-0fe7b9b5-bae1-4a7c-b193-2fd90e24fe96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.051068s] ... 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-bdd6ae51-73ea-4f67-b0d8-af363f2998dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.135070s] ... 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-8dc104d8-4c3c-4c08-a91d-611234cd3158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.294570s] ... 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-b6ce9259-b835-419c-9307-d93818bf3209 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:07.179990+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.TestPatch.test_add_node_uuid_invalid_type [0.050128s] ... 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-1fa42e6c-c1d7-4067-88ba-9e6486b0ce24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_volume_target.TestPatch.test_add_root [0.048883s] ... 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-e4dc258d-ee43-43ce-989a-e585b88edeac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:07.292027+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.143510s] ... 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-7c2aea3c-855d-458d-af00-0618de991c0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_target.TestPatch.test_add_root_non_existent [0.042374s] ... 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-b6d77ce3-4145-4bb9-b920-c1e719cf5267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.194682s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/cee2e2f0-8258-4ae1-a76b-2c942ea9186e GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72e498a1-8bb3-4111-bd18-e3e77de0b545 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_target.TestPatch.test_remove_mandatory_field [0.046398s] ... 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-13e92d88-b549-44ea-9819-d64c6bb1ffc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.228221s] ... 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-53393aa1-6b34-40ad-911e-e7bfbd356697 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.130952s] ... 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-8be42e66-40ac-4036-b1cd-5d41f96724b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.080914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.100226s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/f7856cad-1080-44b9-8a11-f9bc6e93f418 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-25e32a47-9b92-4eb0-bdb1-5f19ae74f27b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node f7856cad-1080-44b9-8a11-f9bc6e93f418 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.119230s] ... 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-0a956bb6-bbad-401b-9787-42e55db5771e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:07.441675+00:00", "updated_at": "2024-03-18T18:16:07.445721+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-9800cb3a-2dc1-40f3-8252-1da7694c16c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:07.441675+00:00", "updated_at": "2024-03-18T18:16:07.445721+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: {2} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.088405s] ... 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-e18196c6-a949-44bd-b837-fae0ec69ff25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.039151s] ... 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-cf601639-a3fc-4886-80e0-f4a2c8cdb90e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_target.TestPatch.test_remove_node_id [0.074706s] ... 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-e5463017-55c3-43f7-ab81-12cea1669002 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestPost.test_vendor_passthru_without_method [0.148463s] ... 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-182e4cca-519e-4428-a1d9-d1695ac8c173 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.115348s] ... 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-5f6994ad-4ba2-43c9-89f4-e6c61c9f2240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_target.TestPatch.test_remove_non_existent_property_fail [0.066184s] ... 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-dced3a4e-c71e-44de-b18a-50cf3383b7d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_root.TestV1Routing.test_route_checks_version [0.080896s] ... 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-c1a4ff74-2ac4-4aa1-b3ee-3794672bd754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_target.TestPatch.test_remove_uuid [0.059491s] ... 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-b3b8079e-8196-4acd-a0de-9fd15561b8ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanhold [0.124429s] ... 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-8e5e5e08-3259-4270-82a6-cec7f6bb42b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.102734s] ... 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-4adea2cf-cba3-454f-bea1-5d29bef542cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_shard.TestListShards.test_empty [0.078675s] ... 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-e351c21a-d28b-412d-b319-67a5adf3751a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.053938s] ... 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-959551aa-b433-429a-824b-af347f35df07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.087520s] ... 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-4ff3821c-6cbf-4a09-aa93-75291791b660 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.085761s] ... 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-9ab9626f-6212-4f0f-ab20-89381d62e058 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_target.TestPatch.test_replace_invalid_power_state [0.050907s] ... 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-097c9c56-c7a6-486d-b8c4-07f715048113 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_get_one [0.109956s] ... 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-ec19ca94-94c8-4e23-aaa5-fc283e582e80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.053977s] ... 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-e3431929-1def-426d-aebd-d0bb7bb7b213 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:07.859863+00:00", "updated_at": "2024-03-18T18:16:07.862686+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_deployhold [0.079977s] ... 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-bd4c1a0f-753d-4c75-8b63-5e353a928f56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.044184s] ... 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-6a4b2bbb-f42d-4320-be70-abdb8dfc2129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.131135s] ... 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-fecb3db0-bd0d-4e08-9ba7-1426198764cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestPut.test_abort_invalid_state [0.070163s] ... 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-92b1241f-fe76-4ca6-bd66-2ecedd9e36c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_post [0.097531s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.054788s] ... 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-21bebe1e-59a8-44b4-a664-3c677f26512c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:07.962583+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.TestPatch.test_replace_node_uuid_inalid_type [0.042400s] ... 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-0f086257-160b-4202-a36b-85d9aeda03db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_shard.TestListShards.test_fail_put [0.072971s] ... 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.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.095351s] ... 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-0ccfa5b1-943a-414e-afc5-4955872d6724 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.054285s] ... 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-db624214-d35d-4a2c-aa48-cdc28521db1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.141042s] ... 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-c432cbee-ced0-4f02-97ba-eaa83fb302a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_shard.TestListShards.test_fail_wrong_version [0.069722s] ... 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.063255s] ... 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-62de05f3-b848-44d0-8ded-b339cc81d80a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:08.113460+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.116812s] ... 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-4232bd94-57ec-4d2e-bbfa-884012a99dd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.107518s] ... 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-9e757799-0151-4c8e-a9cf-99ce01acf56d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_volume_target.TestPatch.test_update_byid [0.075588s] ... 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-766de10d-213e-45b0-863f-dac2a70e3848 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:08.187150+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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.035325s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.099424s] ... 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-5e10c80f-50c7-464a-a4de-b28755387ab5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestPut.test_adopt_from_manage [0.114183s] ... 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-ae87fcf7-168d-40b2-b045-b42b585b31e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.053668s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/volume/targets/bcaaa5f3-dff3-4697-ac4c-dd3779b37f94 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-62febc66-151f-4e5a-9014-10b258668b87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 bcaaa5f3-dff3-4697-ac4c-dd3779b37f94 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_multiple_shards [0.187875s] ... 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-cd7d65fc-b28c-465f-853a-55c834044232 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.063198s] ... 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-ae98b5a0-05b2-4dfb-9dca-7de453ddf4c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {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.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.098814s] ... 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-ee7c865d-0327-43a0-8433-bea326c0c7c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.controllers.v1.test_shard.TestListShards.test_nodes_but_no_shards [0.098774s] ... 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-08adca46-5d59-4471-9208-5d43058b6de4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.066825s] ... 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-be6daca7-922a-46bd-b57c-9b3b25aaf10b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-9e075ef5-63b7-4b1c-b2dd-e3e2d1ec07f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-bb17865b-fa5a-4295-b402-504ddd8e43d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_shard.TestListShards.test_one_shard [0.051889s] ... 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-87a40e71-e84d-4633-802e-923dd23d61d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_002_nodes_post_admin [0.110109s] ... 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-f80e2ac6-c9d6-4b20-b6a1-284443b5cef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.045053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.028963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.117256s] ... 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-5e183001-d98b-47cf-9b38-26061cb342ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-f68bf002-bd86-41e8-98a0-c94c62d83656 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-29ea5d73-945d-429f-b69f-b203d7e99689 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_003_nodes_post_member [0.100704s] ... 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-cbae49ae-cc63-40b1-91b3-f0d90e56e539 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_node.TestPut.test_bad_requests_in_managed_state [0.111304s] ... 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-4067f614-db3b-4a9a-808b-93edd8581e90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-8a5eeebc-7415-433f-891a-9dbdeeb98c9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-52d25fb0-b6ef-4806-a8a1-51f81157f65e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.281284s] ... 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-9cccf786-acae-4d43-98e2-c4066c1945d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_node.TestPut.test_boot_mode_bios_older_soft_ver [0.052850s] ... 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-b48d3591-8303-4336-9f95-1b6d8c54b355 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_004_nodes_post_observer [0.103339s] ... 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-a0b8f159-196d-4dc1-a4b4-7b416dda0d07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.041691s] ... 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-9dbfec64-6158-4907-a33d-11cb2d7a396e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.033070s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/afdb18af-93c0-4af5-a0b7-a756c2d514f4 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-34a67e26-7904-4e54-bd08-c757909f8a46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestApiUtils.test_apply_jsonpatch [0.030031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.269348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.095978s] ... 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-7573befa-e6f9-4d76-a93f-3cfeb0d364f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.026951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_005_nodes_get_node_admin [0.101948s] ... 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-84953e17-151c-476a-9cae-77710fc8fa54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:08.763369+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.024556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.022149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.060173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.029709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_006_nodes_get_node_member [0.087099s] ... 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-4abe8722-df14-4657-9932-83d6de5660c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.024114s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.041044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.027723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.139051s] ... 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-056cea51-30e7-43c8-9d81-719acc231245 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.052541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.032523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_007_nodes_get_node_observer [0.082269s] ... 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-f6ffd0bd-7949-411c-8652-3bca7daed40f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:08.940100+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.029364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.028472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.071010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.019231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_008_nodes_get_node_other_admin [0.075399s] ... 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-8563e7bb-3a42-4af4-969f-5dd463e0d228 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:09.020554+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.019652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.131239s] ... 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-ee1c0bd8-a9bb-41c0-af1b-e0e81f9d9cc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.053079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.020936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.028954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_009_nodes_get_admin [0.080992s] ... 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-89bfa9c8-7ba4-4f12-b57a-27c0b7c46f0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "70e73c04-2f45-4c59-9bdb-b52499972e22", "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.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.030130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.022278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.083775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.021610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.124331s] ... 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-1914d992-1e77-4a2f-b3ba-41e83295d95c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.024261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.042588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_010_nodes_get_other_admin [0.077631s] ... 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-f4a4f5c9-86ef-491e-9518-184523694930 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "5db8c7bb-1f4f-4571-a059-b18f844a15c8", "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.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.017983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.026838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.040747s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.078709s] ... 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-627757c6-271e-4da2-baba-ef9306f920ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.020666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.063461s] ... 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-28d41f6f-f751-4c49-8444-28d18fd91bb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-c490536d-0e02-402d-9ef7-f44abf7b80eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-f88e12be-4906-4391-be34-97ec9eef1666 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-402fa9f7-d8ab-48f0-ad5c-26f9579ddd7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-76e38ec1-3995-4d5b-9ce2-e05e655e1e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-500647be-9e99-49bb-adb4-0c0086646ace DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-24ae4a9b-fbf4-43c6-9cf8-4c0ff21c5649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_011_nodes_detail_get_admin [0.094551s] ... 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-7c852693-b916-437f-bbf0-9ee495b4655c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:09.260373+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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-18T18:16:09.265526+00:00", "updated_at": "2024-03-18T18:16:09.269905+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": "70fcf0eb-bb4e-4909-85db-404b158d66c6", "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": "70fcf0eb-bb4e-4909-85db-404b158d66c6", "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-18T18:16:09.293362+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.032228s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.029104s] ... 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-3cafa36c-0ade-45ac-a8dd-1983b9b56227 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_node.TestPut.test_clean_check_steps_fail [0.085964s] ... 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-c88bd086-3df1-4ddd-b5d1-e9a1db585c98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.045228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_012_nodes_detail_get_member [0.073220s] ... 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-2ecebf5d-9db2-49b5-b473-072d6b5e78a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.060850s] ... 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-eee04916-dfd0-4394-ab06-7b9e81509394 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.032378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.058006s] ... 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-4282b6dd-e98f-4c95-a823-fbb7b753f756 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.038720s] ... 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.042856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.028767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.048197s] ... 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-0bb7c815-b8ee-4850-96ca-2ac8b567b48e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_013_nodes_detail_get_observer [0.094911s] ... 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-688226ba-71f7-47c5-b23f-4fd1a7ee902c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:09.435071+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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-18T18:16:09.436466+00:00", "updated_at": "2024-03-18T18:16:09.440386+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": "9c4edd1d-3e1b-49fc-844b-10b83f2a0edf", "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": "9c4edd1d-3e1b-49fc-844b-10b83f2a0edf", "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-18T18:16:09.460456+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.064410s] ... 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-32e44838-f5c2-4794-a657-b96a22daad31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestApiUtils.test_patch_update_changed_fields [0.057757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.052633s] ... 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-84feadc9-ecd9-4811-ba8e-5e2996ed8c1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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_node.TestPut.test_clean_no_cleansteps [0.058057s] ... 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-0362fc60-3355-4658-8edb-d4e7a5e9ee5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_014_nodes_node_ident_get_admin [0.082518s] ... 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-cde18fa7-8168-4271-a265-933243af6f1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:09.525641+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.TestRBACBasic.test_basic_1_values ... SKIPPED: For value storage DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.055189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_2_unauthenticated_user_cannot_get_node [0.040244s] ... 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-9eb481df-f6f4-4c8d-9ff0-3b0f7ca78f7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_inject_nmi [0.081016s] ... 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-b5bd53e5-8bfb-4fb5-9f39-e2464d63dc79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_015_nodes_node_ident_get_member [0.079044s] ... 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-6b3694c5-edeb-4b7c-ad11-baf2e295a8cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestApiUtils.test_patched_validate_with_schema [0.039910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.024290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_3_project_admin_can_get_node [0.054676s] ... 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-f5468328-f706-45b9-9a4d-4213814a4ee1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_inject_nmi_not_allowed [0.061902s] ... 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-0a70afd7-af97-4ab4-a976-b82dda08bb8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_4_project_member_cannot_get_node [0.043470s] ... 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-26488916-678f-4188-97df-7e73ef7ad75b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_016_nodes_node_ident_get_observer [0.084531s] ... 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-345240c9-0b11-4c5e-a2f3-b8259407a1e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:09.688609+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.075945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.025572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.053537s] ... 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-e3c08ad5-8ba2-428c-bce3-6040c1deb80c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACBasic.test_basic_5_public_api [0.033544s] ... 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-5b4dd235-65d4-4390-9ff0-d07151cf9f43 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: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_6_public_api_v1 [0.034384s] ... 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-cc99984b-6775-48c9-bbaa-ef4d5edc2ec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.056424s] ... 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-b9a67e71-3bc8-47dc-a1ca-c7370a9de91e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.062019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.026665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.115057s] ... 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-2dc0d075-2391-4c00-8892-246e3f9b5e1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_inspect_abort_raises_before_1_41 [0.059185s] ... 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-ec69ea9c-ef8f-4896-b523-2c15c4188b58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_7_public_api_v1_slash [0.059250s] ... 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-f909ddd3-fd24-4291-be83-7557b7434b18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.024041s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.026787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.051658s] ... 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-40abfd70-8864-4f9f-83a3-ad36821ceabb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_018_nodes_node_ident_patch_member [0.075574s] ... 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-189257f1-9861-43a7-abb2-44aa09046718 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_allow_agent_token [0.029713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.024420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_8_public_api_v1_json [0.113665s] ... 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-9d7cf91b-3e82-43fa-b6ab-52f315f97edf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.058628s] ... 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-53c806ab-2793-4256-9774-4317538055c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestCheckAllowFields.test_allow_deploy_steps [0.038421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.080296s] ... 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-5ecae1d0-6897-4978-81eb-a5dbe0f1cc23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.024329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.054029s] ... 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-6d9c9497-0145-4a08-ae27-18f0461ccf14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.024820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_9_public_api_v1_xml [0.053599s] ... 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_utils.TestCheckAllowFields.test_allow_inject_nmi [0.027047s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.050740s] ... 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-fc9dded8-1037-4880-9bbe-2e946525a668 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.081708s] ... 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-a4d60840-64a4-44bc-be01-7f263442e5a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_manage_from_available [0.057892s] ... 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-d170770d-a23c-46e7-8049-7222841a00d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.063988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.027035s] ... ok DEBUG util.py:445: {2} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.066653s] ... 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-f4aaf208-f933-45e8-832b-5f4daa284f2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-a8ba5598-063a-4226-9bc3-e50ede7df893 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.054866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.045550s] ... 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-1768532a-297a-4c5c-8b91-0c71955e9752 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.053258s] ... 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-b3a773e3-ea56-4b2a-93c0-d28c5da04bda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.082050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_021_nodes_node_ident_delete_member [0.268206s] ... 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-08aa0d17-a8d5-4749-9350-eaf253649d1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_allow_port_internal_info [0.037126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.057359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.091313s] ... 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-02decf75-3aa2-4ae2-b1dc-31a532084c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_002_nodes_post_admin [0.238403s] ... 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-baef60cf-8810-4a64-aadb-f695f689c1a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.026349s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.053239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_023_nodes_validate_get_admin [0.087098s] ... 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-c942ec39-0778-4448-bb49-4fa043a31544 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.035503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.025648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.270277s] ... 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-087a6999-8cb2-40fe-9c05-c11111974898 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.036377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_024_nodes_validate_get_member [0.083045s] ... 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-e62853c6-784f-4f2d-9749-fd750c9087cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.047542s] ... 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-f93ae3cd-f60b-423e-8af5-232eb94e55f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.042708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.051812s] ... 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-d9100fd5-673d-467f-b01e-4db58fbebeeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.033139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_025_nodes_validate_get_observer [0.084277s] ... 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-9e3402fa-8390-4151-9ed2-1f7b1d5a3aa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_003_nodes_post_member [0.273251s] ... 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-f274a5d0-c995-410c-ad11-98cff1c5f596 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.048147s] ... 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-06d12acb-4ece-4bcf-a25a-101093194d99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.062627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.046330s] ... 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-ff1c1d1f-aa94-45f2-9761-7c6918f84b39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_026_nodes_maintenance_put_admin [0.083803s] ... 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-2ebddc51-fa52-4fd5-9d30-35e8059d2f0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.044673s] ... 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-e5b96a8d-f5b3-4f24-8707-301e09339af9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_utils.TestCheckAllowFields.test_allow_storage_interface [0.056897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_027_nodes_maintenance_put_member [0.084725s] ... 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-4ade0f5d-9cf6-416e-9db5-95ee4d350f70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.049158s] ... 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-203a1ca0-e36e-468f-b7ad-d40adb015cfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestCheckAllowFields.test_allow_traits [0.076328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.045972s] ... 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-d403b524-3da6-43f4-819d-3c30b8542949 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_028_nodes_maintenance_put_observer [0.074269s] ... 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-7fe5e056-b3d6-4644-b5fe-321d1c39ce76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.043646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.041799s] ... 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-18d57c88-54f6-4f82-a426-fed7df4f7a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.059674s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_004_nodes_post_observer [0.286590s] ... 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-dee00770-b806-4ac1-9973-59dec27d17ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.055752s] ... 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-4e32f3b4-a9c8-4085-94b7-5209c6199853 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.037420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.027115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.054192s] ... 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-9dc385bb-38ac-4677-86a0-53ffb9f21361 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.025272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.134086s] ... 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-85296866-e581-42ab-a4c3-d171506369b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.051844s] ... 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-edf4c8d2-1531-4d02-97f7-588c1c25ab55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_005_nodes_get_node_admin [0.133740s] ... 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-303c131d-c7d5-4cad-ac6c-8bdf83a0cb6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_030_nodes_maintenance_delete_member [0.070698s] ... 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-b6581e3f-b104-4788-be8b-de813ab65340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.044926s] ... 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-268607d7-3223-4924-8d5d-e345dbb19556 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.090506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.044087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.059245s] ... 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-a7c3714e-5ad5-4d01-8142-89f73b9a7af1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_006_nodes_get_node_member [0.086083s] ... 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-dfed7586-546e-417c-8405-8913860729d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_031_nodes_maintenance_delete_observer [0.080153s] ... 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-447ba55a-fbb4-44d1-9589-de2e3be928af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.053911s] ... 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-9b319c09-9aeb-4ee7-999f-45409ed5873f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestCheckAllowFields.test_check_allow_configdrive [0.069584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.089732s] ... 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-3eb3b638-df1d-462c-885a-44ce048b28c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_rbac_legacy_007_nodes_get_node_observer [0.094562s] ... 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-2f5e70d4-255a-4953-aef6-056da3fff071 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.051437s] ... 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-d8509c00-308c-4dd9-a5ea-ea07272f632c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.065375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.055402s] ... 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-915f0abc-f2e3-4ed9-a284-0983b9cd47fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_008_nodes_get_node_other_admin [0.082676s] ... 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-676d007b-9888-48e8-b950-c8783e5eba7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.104524s] ... 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-798f6b5e-2b4d-447a-86a7-17452c0b8040 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.043227s] ... 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-10106bca-2936-4f4a-81a7-657deaf59ddf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.089416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.046797s] ... 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-8b101669-a7ea-4c2a-9bd5-c5a0f0aa6448 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.031464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.084350s] ... 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-45fe5379-6326-4ae2-93d0-708348bd82ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_009_nodes_get_admin [0.111002s] ... 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-72506e5e-b127-475b-8ff5-488774fda9b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.035258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.048956s] ... 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-1c136447-aecf-4a17-8d51-9d3c014f3b67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.030460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.052436s] ... 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-789fe5f9-b943-469f-945d-53f50206eca5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.093303s] ... 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-5ca6e73b-b9ad-4b29-ab10-79878d28a09b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.066522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.065581s] ... 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-002d2c10-d540-4d11-aed6-e83d55505177 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACScoped.test_rbac_legacy_010_nodes_get_other_admin [0.134139s] ... 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-45d986f2-1eda-4da4-9495-f63f0f700a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.043966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.076633s] ... 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-86ed3f9b-ea51-459d-b896-15bdcdcf03ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_by_name [0.050393s] ... 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-61d97f3c-f1b4-40ff-a362-67af21152bfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.046098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.038284s] ... 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-2a7f2905-9573-4460-99a7-9221aa72cef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.067208s] ... 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-2117dea4-7baf-4216-b43f-cf874ff91c7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_rbac_legacy_011_nodes_detail_get_admin [0.099946s] ... 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-1ce119ac-cbf4-4986-865f-7b887cb892ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_node.TestPut.test_provision_deploy [0.040362s] ... 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-71a2f561-ef7a-405e-9e3c-d72c4fa9c6f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.070861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.052562s] ... 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-8c81b1db-696b-4037-a7be-08c7f0d60808 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.085591s] ... 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-acc9e45b-cdfa-4b4f-8e50-09889c18c310 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.066434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_012_nodes_detail_get_member [0.115736s] ... 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-660522e3-b44b-4c7e-998d-12ac14440d6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.061658s] ... 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-5e4bb111-726a-476d-9b3b-e1ddb8674b7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.075354s] ... 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-31ec8283-2c6a-4b85-bfb5-fba178bbf1a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.064497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.053025s] ... 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-2f190294-1497-4e5b-8c51-ff4ba117db57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.051092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.086716s] ... 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-39b93dd8-c1af-4526-a428-1cfd562719cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_provision_rescue_empty_password [0.054296s] ... 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-289f9329-b248-4d45-bd84-70b7b87071bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.035242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.025031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.078443s] ... 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-a7283e30-5002-48d8-af8d-e69fc6588071 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.033712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_013_nodes_detail_get_observer [0.226576s] ... 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-e0739982-0641-4948-9603-b93be0312432 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.099677s] ... 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-3c1351ba-3d05-438b-be5d-e4f6a48a0be5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-6e67f24c-0620-47b4-9ab2-8ddfb9319ead DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-4380bee2-fbd9-4f53-a51e-1b9bb31573df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-e92e6471-bbc7-4c17-a7f8-4157d0dd42ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.027893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.072473s] ... 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-9dfa38d5-2ad8-41d5-a0f6-96ed257eb5df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.031600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.054264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.081085s] ... 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-8d638e0d-7a6c-4211-aa0a-2dd80f99c64d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_044_nodes_states_get_admin [0.079907s] ... 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-59799e3e-f2a7-4a74-891d-eac9d33a09bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.023330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.035839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_014_nodes_node_ident_get_admin [0.274126s] ... 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-0186e815-ef13-4ccf-982f-004b514d0405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_045_nodes_states_get_member [0.071089s] ... 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-865da2b9-a996-4302-b09b-57300fb09259 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_rescue_in_disallowed_states [0.293607s] ... 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-5ecb4f62-2193-4246-95b4-cc332985d246 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-bc2c57d9-c970-4307-ac00-3e141e74d255 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-c1e800c0-66bf-4b52-887d-7cdcb445892f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-af63bb0c-7aac-4ff7-ad9f-b89d274a1a1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.055608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.049165s] ... 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-065dfc81-2e31-4e21-850d-1013c9814aac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_046_nodes_states_get_observer [0.074131s] ... 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-59ba8d17-eb49-47c7-8a13-781c9ed297a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_015_nodes_node_ident_get_member [0.087281s] ... 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-b0e61854-97c9-48fa-9540-5283e2cd1f07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.069891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.025522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.065761s] ... 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-7ebc882f-4b11-41e2-920f-2fb4593e88c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_016_nodes_node_ident_get_observer [0.073989s] ... 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-70413c44-051d-4fdd-87b9-11b177e23b8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_047_nodes_states_power_put_admin [0.103192s] ... 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-54ea64ca-f1cf-4347-a660-3aed62fd05e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_provision_unrescue_in_allowed_states [0.098886s] ... 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-6ee0a21e-51c2-411b-a30f-0cafcf7ddec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-eba52952-d02e-4849-9925-6d5e5b527661 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-2462cf70-3b8f-4737-b1ca-81d42dc9a81f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.082224s] ... 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-c5ce4122-04a0-473d-a45b-b892a27028ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.119824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.028935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_048_nodes_states_power_put_member [0.109298s] ... 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-c537a317-c89f-46f1-ab3a-1b706616826f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_018_nodes_node_ident_patch_member [0.069693s] ... 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-5835e7eb-b5c9-437d-b111-e952a2c678b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.047550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.114618s] ... 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-9bb4fa7a-afba-4ba5-9f20-8f350f35d70e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-cee0085a-693a-41da-b837-b194baa07a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-7109a768-8404-4069-ba46-2f4dabf449bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-3b43b488-d4b2-4210-be4d-024a63b436e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-a214d2bf-cff3-4c50-b8c2-8210563ed26e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_049_nodes_states_power_put_observer [0.085194s] ... 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-398b6a3e-3aa8-43a3-888d-08846a06eff5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.079664s] ... 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-d1a28499-adf7-4558-b235-531c4e9be19f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_cleansteps_not_clean [0.051868s] ... 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-b679f9e3-2a39-4387-97ab-94be99f1c800 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.071269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.025755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.057471s] ... 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-5d410c09-9f7e-4061-a241-4f67c1b75026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.067169s] ... 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-3c46bb99-7313-4e16-a58b-0949452053f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_050_nodes_states_boot_mode_put_admin [0.093355s] ... 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-8e261ca3-40f9-4edb-9724-cc252ec937c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_provision_with_deploy [0.062466s] ... 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-addc9792-1578-4056-8af2-6c0d1ab70822 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACScoped.test_rbac_legacy_021_nodes_node_ident_delete_member [0.073284s] ... 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-a06d014f-3423-47e8-b1df-16eb675d935f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_051_nodes_states_boot_mode_put_member [0.078358s] ... 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-a82c998c-3d63-44a2-adaa-6722b8e21ba5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_deploy_after_deployfail [0.056041s] ... 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-abb379da-4216-4938-b0a8-27d72bbf553d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACScoped.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.066800s] ... 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-da539519-f557-48f2-9ef2-f0c64a4735b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_052_nodes_states_boot_mode_put_observer [0.080955s] ... 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-6022b161-a8f9-4b04-9e22-68d65095b2a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.062103s] ... 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-44aa51a5-cb41-4776-ad6a-5ac3fa625662 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACScoped.test_rbac_legacy_023_nodes_validate_get_admin [0.073186s] ... 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-c4ae1372-3dc5-4f4e-9d86-3a8dee52782e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.055597s] ... 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-6201c7b8-a68d-4ca2-82d4-415eae31dd1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.097952s] ... 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-fbdeab00-870e-48bb-b4c3-a8c670671cc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_rbac_legacy_024_nodes_validate_get_member [0.071933s] ... 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-dcd0ce2b-7547-4c9e-b374-ac40b3b94468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.048945s] ... 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-25c5d31e-4dcf-42b8-b4b4-2c44a00c60e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.050620s] ... 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-71c99f0f-6e7d-436e-a04a-fb3f155526f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_025_nodes_validate_get_observer [0.082249s] ... 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-71cb07da-301c-4a5c-8d01-d7fe12ff5a32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.059865s] ... 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-2e03ff7d-e189-4238-8c8c-781b0ea838d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.165087s] ... 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-b4701d81-0512-4a51-9056-5831b9c72932 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.469128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.053975s] ... 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-18600143-c353-43a4-8181-0f27782d3d8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACScoped.test_rbac_legacy_026_nodes_maintenance_put_admin [0.091477s] ... 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-93361d5d-9a84-45b7-97cf-1dfa142be74c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.036967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.087837s] ... 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-ec5e773d-89bd-40fc-a2a5-d31ed51842dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.071594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_027_nodes_maintenance_put_member [0.122286s] ... 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-d9e74ab1-1af7-4072-9d0d-2da235b0999c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.082906s] ... 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-af82aef9-0c1c-41b2-8b90-fca89c36b7f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.202509s] ... 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-85e61063-2599-4472-83cc-b8db7b06789e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.082752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_028_nodes_maintenance_put_observer [0.073568s] ... 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-bf355893-0b46-4d57-ab2d-1aaa8b8b40c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.040403s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.083946s] ... 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-c52a9ffa-0344-4f0e-b6b1-0a36ed297b02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACScoped.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.090268s] ... 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-c481fa32-be8a-425f-a915-3ea94083c57a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.067425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.077329s] ... 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-b3d16305-25e5-4d2c-bf0d-97753e8a5a9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.053192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_030_nodes_maintenance_delete_member [0.097338s] ... 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-aa2fbaf2-efda-4762-a2a8-06beabbaddc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_rebuild_deploy_steps [0.084609s] ... 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-d27fafb7-11d8-4d3f-8986-181c4ddf96e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_056_nodes_states_provision_put_admin [0.263672s] ... 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-d37b004f-96ff-432a-a4c9-3587bc5e68a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.076347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.091560s] ... 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-ed5a1150-870a-453a-b314-0f1088b0e946 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.076240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.107130s] ... 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-4a3bb7ed-9ccf-4b87-80ce-d312b7bf5af1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.028820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.090033s] ... 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-75758643-bc9f-417c-9f73-b1ade372baee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_tear_down [0.048933s] ... 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-e5e1251f-f875-4a62-890d-43fee47befe4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.078900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.084423s] ... 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-8619b5d1-2588-45c6-a552-67c836339610 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.107216s] ... 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-a6cfc6f8-df47-47de-b934-0f4eae33d63c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACScoped.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.077782s] ... 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-1e19068d-0b0d-4485-b425-346ef60a9b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_provision_with_tear_down_undeploy [0.081965s] ... 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-df0715c4-6790-4df7-af14-5ba799f1f6d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.150810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.034472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_057_nodes_states_provision_put_member [0.359392s] ... 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-61ad207c-8a7f-4f9f-9e11-ddd9662a097b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.084897s] ... 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-92535a5c-3cdc-4685-b66f-33dd976e2025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.055808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.021510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.022124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.083697s] ... 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-507be713-98a4-4b61-814f-b3626643db48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.025106s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_058_nodes_states_provision_put_observer [0.113875s] ... 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-06e9494b-8fa0-455d-abcd-360b181cae1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.030263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.023337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.076511s] ... 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-c32338a2-7631-4848-a44d-3789c0cd1d46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.023545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.026412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.021021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.074775s] ... 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-7d79e807-e27f-4192-9e13-ca2c7280f473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_volume_target.TestPost.test_create_volume_target [0.067326s] ... 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-cbeff2f9-7bf6-492f-b3f2-49060bb8067d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-3e75e175-6c32-4987-b884-9fe21a25c02e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.082370s] ... 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-c786b49f-ff2b-469f-9e41-e1731d7407e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.080453s] ... 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-8d2fcf5a-b021-4513-8b48-e57a3f2c69d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:14.494181+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-f3bd4f17-4fd3-4112-bdb8-0859461f32e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:14.494181+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.466145s] ... 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-dff1050b-3144-4743-8bf2-83cc649dbe3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.092842s] ... 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-c88e452f-858b-4ef0-bb4a-a697eb2bfde6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_volume_target.TestPost.test_create_volume_target_error [0.043623s] ... 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-ba59b756-fa1a-4dc8-ac3e-89f77302ea4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestPut.test_put_raid_iface_not_supported [0.054012s] ... 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-985c55e6-5e58-4748-b182-d3ada2f71d7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestPut.test_put_raid_invalid_parameter_value [0.046441s] ... 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-290602dc-d9bf-4bdd-9f98-134396ae3110 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_059_nodes_states_raid_put_admin [0.417932s] ... 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-b73c76c4-e2c3-40a5-bfb6-f7d524bc9b54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.091710s] ... 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/91d0a9e7-f6f7-4990-97f3-b8bf61ad270d DEBUG util.py:445: Openstack-Request-Id: req-52caf711-27b1-4b01-8adb-63545e7dde69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "91d0a9e7-f6f7-4990-97f3-b8bf61ad270d", "created_at": "2024-03-18T18:16:14.621953+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/91d0a9e7-f6f7-4990-97f3-b8bf61ad270d", "rel": "self"}, {"href": "http://localhost/volume/targets/91d0a9e7-f6f7-4990-97f3-b8bf61ad270d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/targets/91d0a9e7-f6f7-4990-97f3-b8bf61ad270d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43f08ff3-9f28-4baf-ae1c-a13154cb541d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "91d0a9e7-f6f7-4990-97f3-b8bf61ad270d", "created_at": "2024-03-18T18:16:14.621953+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/91d0a9e7-f6f7-4990-97f3-b8bf61ad270d", "rel": "self"}, {"href": "http://localhost/volume/targets/91d0a9e7-f6f7-4990-97f3-b8bf61ad270d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.041838s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.058848s] ... 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-601c8317-d395-4b01-a4f7-2e38008280dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.180558s] ... 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-ca981458-7025-4a81-8b37-4891aaf45ae6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.051206s] ... 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-fe18f3f2-af7b-459f-8e1e-68eaea0ac758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.054364s] ... 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-8f59a4e1-22c2-4e1d-be5a-a910e2aedd84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.033927s] ... 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-ff1dc517-1ac5-4ae2-81af-fa6875188148 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_060_nodes_states_raid_put_member [0.127437s] ... 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-7231e2df-64cb-401b-bc7a-cb82682dcc63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.073676s] ... 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-d21f8184-0ce1-49f4-b2c0-e64ed5728456 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.042558s] ... 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-0633f6c5-5ff6-4d4b-87b7-2a4238642759 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.086203s] ... 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-80148e53-44a6-43d6-a38e-11f72b2790f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_061_nodes_states_raid_put_observer [0.091823s] ... 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-ea798afc-b453-4caf-9faf-17d15ffa6160 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.049292s] ... 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-19d7d224-e0be-41cf-8645-0be10d61a84d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.086423s] ... 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-622058f3-80b1-43f7-8c47-038da576930a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_secure_boot_invalid_request_boo [0.068932s] ... 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-ccd2f6d6-b27d-4765-b4c9-7f1683ba96d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.047469s] ... 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-859b3d18-a46f-4df0-939a-133ecff4dc99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACScoped.test_rbac_legacy_044_nodes_states_get_admin [0.076818s] ... 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-aa1e0998-b53f-4a00-bd4f-0a2649be3a69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_062_nodes_states_console_get_admin [0.086850s] ... 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-e287801e-a1ec-48ca-ac42-c67807c084c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.070466s] ... 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-04fd8e35-8bf7-4f4f-ae0b-db61a4f20432 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.073721s] ... 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-bcf86ee3-40ca-40d2-bbcb-78c529498600 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:14.978707+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-31c1a5e9-f0ba-4652-8707-285c4a6789f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:14.978707+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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_045_nodes_states_get_member [0.068726s] ... 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-c402c5e3-e495-41e5-b6ab-021ea0c13a1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.041439s] ... 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-dc1ae678-6ba2-4f3f-b590-f8e0d7b02200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:15.029130+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_063_nodes_states_console_get_member [0.074487s] ... 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-b146d709-d669-439a-8495-edafc6d9dbcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.038849s] ... 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-f19459c4-574b-41c9-b71f-bc7ed6c5e1cf DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.030106s] ... 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-8d4c764f-1ad8-4f18-a686-4b8c1410ecde DEBUG util.py:445: {"foo": true} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_046_nodes_states_get_observer [0.080743s] ... 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-817bb789-78e4-43a8-bc69-914fdd77d402 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_secure_boot_off_older_soft_ver [0.120433s] ... 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-331c82e6-5ef5-42b7-93de-15cdddbf164c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_064_nodes_states_console_put_admin [0.090057s] ... 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-b8675a4a-8264-4aec-a41d-8d360f5bbd2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.api.test_method.TestExpose.test_expose_validation [0.025983s] ... 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-b404b5af-dd97-4195-a945-bcd3e98f144d 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: {1} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.036462s] ... 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-baa821ea-ef97-41c5-8a1f-a26676905caf DEBUG util.py:445: {"three": "three", "four": "four", "five": "five"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.070722s] ... 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-3c2431b3-232f-45bd-819a-964d3155f82f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_047_nodes_states_power_put_admin [0.079022s] ... 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-bd689192-fa74-4b60-bf53-9c7fdf407360 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.042474s] ... 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-1ef1a77c-eb7d-460f-8fd7-21b78fe8c0c1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_065_nodes_states_console_put_member [0.082981s] ... 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-03ea98df-6680-491c-9e99-44ccf92f0abf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.030446s] ... 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-eca05499-302d-482b-9e65-0f40f04b000b DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_048_nodes_states_power_put_member [0.072938s] ... 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-ca207967-e006-4a7e-af4e-4603c03f1e12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.035075s] ... 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-933e674c-9839-431a-a8a1-b59fa84619c8 DEBUG util.py:445: "nothing" DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.090742s] ... 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-16febda6-08f0-455c-bdd0-e61dd778cb89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_method.TestExpose.test_response_custom_status [0.037604s] ... 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-81660162-1ceb-44ce-aae8-786270355261 DEBUG util.py:445: "accepted" DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_066_nodes_states_console_put_observer [0.097519s] ... 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-76efc92c-968e-4ebc-a0ef-1e4a2c5d6e69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_latin1 [0.025901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.060433s] ... 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-f122ddd6-ad94-4e96-975d-9d9e78e684e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm [0.041961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.070454s] ... 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-87565527-d935-4730-bfb4-9d0c269e955e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm_both [0.030188s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.078446s] ... 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-f085ba7f-cca4-43fb-913b-a8263f38b363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_allocations_table_ok [0.027230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.083739s] ... 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-8104281c-5a92-423c-b2ab-b6c41ad577e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_049_nodes_states_power_put_observer [0.261176s] ... 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-1a68403c-1a0a-4447-a6bf-7b98bb52c775 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.073073s] ... 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-595a549b-6d58-4758-8328-bec50a2817f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.121669s] ... 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-db9fbc21-cb0f-4ede-b510-4b16bf2fd136 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.072846s] ... 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-9f8ac950-9e5f-4b34-82e4-920a05f09f35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.077796s] ... 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-e7bc797c-a1b2-4d85-8769-41af87a46bb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.073227s] ... 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-5fc10efa-72b0-4221-998d-d78968dbc764 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.087872s] ... 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-66519eba-99dd-4e99-b2b8-f8fb6de99bf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_071_nodes_vendor_passthru_get_member [0.072102s] ... 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-5a9618ee-86e5-400c-a30a-dbeb1cd5da6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.267318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.023029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.028860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.069008s] ... 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-f2239f95-1428-48c8-9cbe-76b7a740217d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.084848s] ... 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-b954570f-2d77-43f5-a0fc-44d8c2ac1e6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_args.ValidateDictTest.test_dict_valid_colon_key_name [0.024524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service [0.164645s] ... 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-e57da001-1619-4f23-9e5f-bf9edc0b269c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.022773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.074404s] ... 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-43e8e3fd-6da8-40a7-9640-9a073dca9e0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_cinder.TestCinderClient.test_get_client_service_token [0.039805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.084668s] ... 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-8ce89db2-314f-447b-ad5e-407e2ba80e77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_cinder.TestCinderUtils.test__create_metadata_dictionary [0.037840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.030605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.068709s] ... 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-ea4c08ef-4319-4cf5-bfdc-58f532dd1dca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.081627s] ... 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-8254a2fd-a4ea-4a7e-a5ad-ba49ad927380 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_cinder.TestCinderUtils.test_is_volume_attached [0.032354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service_args_required [0.176036s] ... 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-20d2b2f2-4d71-4787-a767-2f600b0d5507 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.032673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_075_nodes_vendor_passthru_post_observer [0.075946s] ... 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-9f42e8f9-92f4-49e1-986f-6ef16b80572b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.072599s] ... 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-90fa43cd-43cc-4f99-bd25-fdfbfa01b36e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_image_publisher.LocalPublisherTestCase.test_publish_external_ip [0.036596s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_external_ip_node_override [0.027500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.069115s] ... 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-0c237394-0e22-40b1-abdf-b6674775e039 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_publisher.LocalPublisherTestCase.test_publish_local_copy [0.031181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_056_nodes_states_provision_put_admin [0.084719s] ... 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-e7db5fff-cc5f-42c4-840d-28e8f0257201 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_image_publisher.LocalPublisherTestCase.test_publish_local_link [0.027598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.137755s] ... 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-d16fb472-53ed-428b-8702-c23d90a8dcf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.066208s] ... 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-53efcd05-6f03-4145-9480-a3a5239e38af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_image_publisher.LocalPublisherTestCase.test_publish_local_link_no_restorecon [0.031275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_057_nodes_states_provision_put_member [0.072447s] ... 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-4e6d6a3a-11d9-4e4c-99ea-2eaab21fe867 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_image_publisher.LocalPublisherTestCase.test_unpublish_local [0.023420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.020521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.019782s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.068008s] ... 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-1f764268-ffe2-46fc-be0a-6e9ba17bc4ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.026773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_058_nodes_states_provision_put_observer [0.072224s] ... 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-0a999bb6-982b-43c3-a9a1-5da52605d80c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_images.IronicImagesTestCase.test_download_size [0.022071s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.023587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.075572s] ... 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-8888a01b-3a7c-42cd-8be9-1f8ec5599b1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.027636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_059_nodes_states_raid_put_admin [0.070711s] ... 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-a36e51b5-60b3-4c13-a7ad-05bf31a39336 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_set_boot_device_by_name [0.186892s] ... 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-24f1d5d7-4b1b-419b-8588-09cb0c689816 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.024323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.068316s] ... 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-7fc43f9e-ab30-473a-9934-0d6ff38b5975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_images.IronicImagesTestCase.test_image_show_no_image_service [0.022696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_060_nodes_states_raid_put_member [0.071631s] ... 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-20a11adc-9617-4c29-91ff-de24537985e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_images.IronicImagesTestCase.test_image_to_raw [0.029795s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.023524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.070117s] ... 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-b8e6457f-3956-4db2-bd37-2e95e9aa214c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.032036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.119734s] ... 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-c9a6fa2c-bc9b-4cfc-a94e-39928abd392d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACScoped.test_rbac_legacy_061_nodes_states_raid_put_observer [0.079460s] ... 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-6718f21c-2232-478d-b77f-179abd8b8ade DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.019366s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.023638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_082_nodes_traits_get_admin [0.086265s] ... 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-79c93047-33b5-442e-a54b-d08be30517ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_length [0.030909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_062_nodes_states_console_get_admin [0.078703s] ... 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-9fb16398-49c0-458f-bf2e-8e206aea7ef0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_set_boot_device_persistent [0.113281s] ... 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-cefe2c0e-bcdf-4e2a-bc8c-91874e21976f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_083_nodes_traits_get_member [0.081521s] ... 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-289e262f-4008-4dd0-b675-a8dc946ab5f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_063_nodes_states_console_get_member [0.110100s] ... 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-a2d4c1f4-01c4-4a47-8a2c-9974772751f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.095427s] ... 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-57d0e797-e485-481d-9f18-a03d2adfcbec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_type [0.201892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_064_nodes_states_console_put_admin [0.070707s] ... 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-e20a9ada-69a4-46ef-b239-ebbf9e617b2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_set_boot_device_persistent_invalid_value [0.164003s] ... 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-6ff4f793-253e-4f76-822e-e06c00e18cee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_other_error [0.025087s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_redirect [0.026004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_085_nodes_traits_put_admin [0.090674s] ... 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-bf45255e-3d30-4245-892c-dc62c75c8d6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_images.IronicImagesTestCase.test_is_source_a_path_returns_none [0.020161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_065_nodes_states_console_put_member [0.081884s] ... 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-8ef069d9-7ae1-4394-a68d-e751ff74bf98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_images.IronicImagesTestCase.test_is_source_a_path_simple [0.021009s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.021757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.035252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_086_nodes_traits_put_member [0.091667s] ... 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-9aeb0f3e-4dec-4a95-b6c5-3f75ce21be19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_066_nodes_states_console_put_observer [0.073278s] ... 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-b78b91c5-19e2-407e-a5c1-d18d691ecc8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.032278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.197350s] ... 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-148d17ce-cc56-4fd4-84a1-53ecb2502b9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.022321s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.021877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_067_nodes_vendor_passthru_methods_get_admin [0.080770s] ... 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-593e931b-55fe-48f1-91d5-a0c31935721a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_087_nodes_traits_put_observer [0.084227s] ... 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-7e4fee2f-6396-413e-b460-87ea86bd452d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.019683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.021749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.017632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.019936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.018270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_member [0.090525s] ... 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-f3c659cc-9e0c-4606-aeba-dcbbfcb94201 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_088_nodes_traits_delete_admin [0.096925s] ... 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-d190232c-c60d-4574-ac3f-d5b6bbcbbdc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_set_console_by_name_unsupported [0.146581s] ... 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-8652b166-f4b8-4eee-af98-1bb516b4b133 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.043244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.018102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_observer [0.078924s] ... 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-16465354-e280-4b00-aa22-2e639a1c7b9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.029971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_089_nodes_traits_delete_member [0.091350s] ... 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-daf75072-7fa0-4ba1-8fdc-e555a1a7be3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.020918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.102012s] ... 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-1e495603-c7c1-406e-b96c-47974e7180d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.020243s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.023985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_070_nodes_vendor_passthru_get_admin [0.073624s] ... 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-740b1e13-14f2-4e73-b735-3d657d144da3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_090_nodes_traits_delete_observer [0.068653s] ... 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-9a5070bd-c452-4000-b525-444384fa4098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.023728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_071_nodes_vendor_passthru_get_member [0.075751s] ... 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-411ac891-8f2a-49d8-adb9-12f4a059bbce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_091_nodes_traits_trait_put_admin [0.087545s] ... 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-13043503-c5b5-4b1a-bc38-c456e3dcdba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestNeutronNetworkInterfaceMixin.test_get_network_names_and_uuids [0.121686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.139351s] ... 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-32f1858b-9e78-4194-9a6b-0b6ec0f3e4ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_072_nodes_vendor_passthru_get_observer [0.080543s] ... 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-985fb9e5-7cd8-440b-94f3-742fd927d65e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestUpdateNeutronPort.test_update_neutron_port [0.027573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.030168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_092_nodes_traits_trait_put_member [0.108321s] ... 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-51eb5fdc-79aa-4ad3-9d9e-535447cf0487 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.033262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_073_nodes_vendor_passthru_post_admin [0.096433s] ... 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-ff63a98e-f371-4380-93de-ef3b31eeb4f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestValidateNetwork.test_by_name [0.028058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.024193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.027520s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.022931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.185415s] ... 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-e7e227c2-a98c-4b4b-9a49-feace901c328 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.131250s] ... 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-f9981121-9c45-4871-8e23-814b09c8f2fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_074_nodes_vendor_passthru_post_member [0.088111s] ... 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-a6dd6fac-5e42-49af-8838-c410f5af42f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestValidateNetwork.test_not_found [0.035949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.033197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_075_nodes_vendor_passthru_post_observer [0.076461s] ... 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-a687c301-53bf-4eb4-aef3-9aa724774b1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_set_console_mode_disabled [0.075401s] ... 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-41ebf794-d0ea-464a-9087-9c72c43b8b4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_nova.NovaApiTestCase.test_power_update_1 [0.026791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.093909s] ... 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-e8e3bf3d-4df5-4e93-ad31-f1cd1fe49e28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_nova.NovaApiTestCase.test_power_update_2 [0.026936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.029827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_076_nodes_vendor_passthru_put_admin [0.084851s] ... 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-d838f590-fc6b-48fc-a362-bb2c3386252f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_nova.NovaApiTestCase.test_power_update_4 [0.028433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.108182s] ... 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-eaad7cff-e439-40ec-825a-ed49ef8a1d64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.087516s] ... 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-3af068df-1dac-42f0-9d59-2f4734ae1069 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_nova.NovaApiTestCase.test_power_update_5 [0.031652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_077_nodes_vendor_passthru_put_member [0.078613s] ... 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-db656c38-a6bb-4303-af20-1705b0989e71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_nova.NovaApiTestCase.test_power_update_failed [0.031760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.030731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.089948s] ... 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-b4e8b014-4750-426e-96a2-03d09a025063 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.039867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_078_nodes_vendor_passthru_put_observer [0.074544s] ... 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-5c14175f-4385-46c2-a533-68037a16eca5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.027464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.026405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.030829s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_079_nodes_vendor_passthru_delete_admin [0.090752s] ... 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-61a74ee2-6ee7-4538-b71a-f0833c854a7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.028019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.044754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_080_nodes_vendor_passthru_delete_member [0.079186s] ... 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-fc34603c-fc17-46c8-af77-1e40a3aae673 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_insecure_heartbeat [0.040696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_097_nodes_vifs_get_admin [0.262018s] ... 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-7b5c7140-dee7-492d-8c9c-b80621391c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_source_path [0.043996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_081_nodes_vendor_passthru_delete_observer [0.082210s] ... 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-1131b46c-9f7e-4ed4-9fc7-5948f4941419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.033649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.423847s] ... 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-770a2a5b-1ad0-4381-b696-cc19e597c170 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_098_nodes_vifs_get_member [0.076550s] ... 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-ea6259bb-73de-4881-807c-7fb51d72bc4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.034220s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_082_nodes_traits_get_admin [0.080019s] ... 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-db59c4ea-c2a2-49d0-8f6e-d807e8cf224a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.030249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.029286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.031200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.108335s] ... 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-fff3231f-7831-4921-8357-25def217d134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_099_nodes_vifs_get_observer [0.102313s] ... 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-cdd9aa47-6522-4bd3-9a57-7664918035d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_083_nodes_traits_get_member [0.085828s] ... 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-401a6d1f-bf7d-42af-a9b5-e77654dd44f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.048386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.059960s] ... 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-a4c7b81b-d990-455c-ae14-f1b86d0459af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.029208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_084_nodes_traits_get_observer [0.070151s] ... 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-1d226f66-1276-4eb7-b1b5-3f49597e28cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.032816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_100_nodes_vifs_post_admin [0.096632s] ... 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-55c217f3-1d40-4ede-b8b7-4140eb7f8cc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.028651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.091749s] ... 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-86ff2721-1519-4217-bd9c-70bf259b6158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.043339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.042299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.054978s] ... 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-7cfffebe-b61f-41e3-b387-1aca08c4b1c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_101_nodes_vifs_post_member [0.128771s] ... 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-dc3beb61-a571-4754-a041-0ba228002eca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.049376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.072445s] ... 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-65aff3ba-d648-4508-afc4-ab58e39c8cdf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe_anaconda [0.038095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_102_nodes_vifs_post_observer [0.087589s] ... 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-dd7caa65-c479-434d-8cdd-da9aafaad49b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.040525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.049944s] ... 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-2536b131-9107-4f85-b3f6-a2754160389e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_085_nodes_traits_put_admin [0.283078s] ... 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-06ad5d1e-4594-4ef4-8adf-85800a007299 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_set_node_maintenance_mode_error [0.043064s] ... 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-7ec098b7-4f7d-4afe-a6a2-05b09cc0ff9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.046657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.091047s] ... 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-d63cbac7-301c-4c7a-93dd-b81a465fada7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.050868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_086_nodes_traits_put_member [0.080529s] ... 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-4121aaaa-cf21-4c4e-96df-a54bc91263ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_set_node_maintenance_mode_no_reason [0.058219s] ... 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-186de32d-0f9f-4862-8b27-5b755dfbae66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.044175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.045935s] ... 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-94f6a0b3-fa19-4fb5-8dbe-eb9fa3505958 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.099938s] ... 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-61c94fb9-144a-427a-a626-f11abc84c22f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_087_nodes_traits_put_observer [0.084454s] ... 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-e901998a-36b6-4448-899c-74db2af41f9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.070120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_cleanhold [0.060332s] ... 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-1580f6e5-482f-45c3-8263-11d4eab2e0a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.088354s] ... 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-e8c361a5-4d37-48e9-ae0d-b7335a400b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_088_nodes_traits_delete_admin [0.080034s] ... 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-ccb5aba7-e8a8-4c66-bcb0-fdb968a90d36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_url_http [0.067648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.030985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_cleanhold_not_allowed [0.093990s] ... 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-3a84d53b-a874-4607-acfa-9ef81986dd4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.029772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_089_nodes_traits_delete_member [0.080260s] ... 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-1e5724b9-01e8-4c91-ae26-643ce581ae43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.106984s] ... 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-34f83a6a-db42-4f81-9db5-81df797e748a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_unhold_deployhold [0.073433s] ... 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-4ae0f8e1-ab11-4bcb-8ac9-4727c9200778 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_090_nodes_traits_delete_observer [0.081599s] ... 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-f942bc1e-2e09-4f33-a22c-46e2da7a2d65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_107_nodes_management_indicators_get_member [0.089649s] ... 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-88b3eeb2-e92a-4b14-8687-61d43ae155a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_node.TestPut.test_unhold_deployhold_not_allowed [0.100674s] ... 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-4004afec-0666-4763-aada-b87f4dccbcaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACScoped.test_rbac_legacy_091_nodes_traits_trait_put_admin [0.087598s] ... 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-dcf3f812-7418-4b4b-8180-053b0789c786 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.208589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.087255s] ... 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-ce5a990a-dd5c-41da-b02f-7f899a48d447 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_node.TestPut.test_unhold_servicehold [0.062722s] ... 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-ba6ae2da-a761-420c-b73b-38d68fd5f3f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.030274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.028008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_092_nodes_traits_trait_put_member [0.103505s] ... 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-662569c5-2910-45ca-8572-b27dca6bfd66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.025428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.024331s] ... ok 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.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.124922s] ... 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-87fa9d21-aec3-4968-b10b-a5682fae29ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.027315s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.032929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_093_nodes_traits_trait_put_observer [0.107751s] ... 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-3240b1f9-9d09-4cd4-be58-e5062c7f7576 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_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.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.033240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.027550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.027648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_094_nodes_traits_trait_delete_admin [0.072460s] ... 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-29202a78-dc57-47ac-a383-12f992a068d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_112_portgroups_get_admin [0.079926s] ... 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-cd0f86b8-cf4d-41f2-a12e-e6df0960520c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.027819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.035956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_095_nodes_traits_trait_delete_member [0.085100s] ... 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-00a99ac9-98fa-45ad-95e0-852eb305d44d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_grub_mac_path [0.028514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_113_portgroups_get_member [0.086987s] ... 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-5be0e5e6-7c3c-4b45-b648-75cdaa7a144a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.025252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.246206s] ... 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-536aa231-4114-4943-9e63-057cdc66d834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-406614c7-305d-4f9c-8dd9-e223d5ed788a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.024830s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_096_nodes_traits_trait_delete_observer [0.068374s] ... 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-efcb774e-2e7d-4b12-abd9-cdd9684107fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_mac_path_ipxe [0.024150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_114_portgroups_get_observer [0.077538s] ... 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-c5e4b083-288c-4068-833f-2faa4fb216a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.047115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_097_nodes_vifs_get_admin [0.067152s] ... 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-484e6c9f-a17b-4145-bc24-d0b7aff6aae1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_portgroup.TestPost.test_create_portgroup_address_already_exist [0.120751s] ... 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-3f47dbcf-bf00-4e2c-924b-8546af4db3df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:19.633650+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': '496573d8-9576-4563-a6ef-1b3deb51a071', 'name': '79431259-341d-4208-82e5-c9dcc8ca9db6', '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-dd7e0792-571b-44b9-a8db-43ca6045c7a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.050649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_115_portgroups_post_admin [0.096879s] ... 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/2ba05d7a-4280-4152-babc-e0f24ea6b5b3 DEBUG util.py:445: Openstack-Request-Id: req-9b284b98-58b4-4d4b-8faa-5b1ed648c34f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2ba05d7a-4280-4152-babc-e0f24ea6b5b3", "created_at": "2024-03-18T18:16:19.702196+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/2ba05d7a-4280-4152-babc-e0f24ea6b5b3", "rel": "self"}, {"href": "http://localhost/portgroups/2ba05d7a-4280-4152-babc-e0f24ea6b5b3", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/2ba05d7a-4280-4152-babc-e0f24ea6b5b3/ports", "rel": "self"}, {"href": "http://localhost/portgroups/2ba05d7a-4280-4152-babc-e0f24ea6b5b3/ports", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_098_nodes_vifs_get_member [0.087777s] ... 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-b30b2e8d-c8b6-48c4-9291-7a62add705ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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__write_mac_ipxe_configs [0.055709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_116_portgroups_post_member [0.088424s] ... 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-7060206d-d480-4ecc-a728-aca7635414d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.061200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_099_nodes_vifs_get_observer [0.070456s] ... 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-13a3bdae-e7d8-446f-9ddf-088992f58cba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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 [0.058416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_117_portgroups_post_observer [0.086826s] ... 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-44a44266-dc8a-42c5-93f4-9f6d94128e28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_100_nodes_vifs_post_admin [0.080176s] ... 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-4d33ace7-9e6e-4171-b8dd-3cf57a32b83b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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 [0.050974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_118_portgroups_detail_get_admin [0.080262s] ... 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-d7232c7b-689f-4ba5-a079-3cd48fc009ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:19.937381+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.TestRBACScoped.test_rbac_legacy_101_nodes_vifs_post_member [0.071122s] ... 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-5af56d84-51b0-416a-aca5-f05b11ed24a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.051435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.323942s] ... 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-980b921c-e234-493c-b964-08e7e81b1526 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:19.870539+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-d57bb6d7-d1e2-4800-b185-bce845ec4637 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:19.870539+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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.058477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_119_portgroups_detail_get_member [0.076236s] ... 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-c7792af4-66a6-4bdc-b8ff-1bcaf16d3fc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_102_nodes_vifs_post_observer [0.085005s] ... 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-176ae3d9-c700-4b45-87e5-5660924df991 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_no_ipaddress [0.055874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_120_portgroups_detail_get_observer [0.073091s] ... 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-5f1a8aa1-9b4a-467c-a74b-02c12b2ad05c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:20.084843+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.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.032127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_103_nodes_vifs_node_vif_ident_delete_admin [0.082931s] ... 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-49288643-3cfb-4e8d-b94b-9f8c8e0d21a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_ipxe_boot_script_already_exists [0.032008s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.032181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_121_portgroups_portgroup_ident_get_admin [0.079767s] ... 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-a3056429-5437-433e-b5c4-2fa3069e475f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:20.157584+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.TestRBACScoped.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_member [0.080261s] ... 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-8318a73d-da89-46b9-8d55-8d70a754c385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_ipxe_boot_script_fallback [0.034064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.245982s] ... 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-d55792dc-c851-45f7-8eee-902dca79ee4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:20.226261+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_pxe_utils.TestPXEUtils.test_create_pxe_config [0.056768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.097841s] ... 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-eec4d751-7fe7-432e-8d8d-188219521eca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_observer [0.080292s] ... 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-be725edc-51bf-4eec-9ec1-50d21bd44cc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.053953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_106_nodes_management_indicators_get_admin [0.085603s] ... 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-4568f09f-833f-440f-accd-3bd21f47fc24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.097921s] ... 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-34799562-3f70-456b-a9b3-f05a2604343f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:20.349425+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.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.056143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.050141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_107_nodes_management_indicators_get_member [0.067994s] ... 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-6a5079f5-0895-4381-8070-72e549512bb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_124_portgroups_portgroup_ident_patch_admin [0.092458s] ... 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-ee2ea9d9-3035-47a1-bd59-10ed5793bcf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_uefi_grub [0.048745s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_108_nodes_management_indicators_get_observer [0.068482s] ... 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-d51e868d-fd73-4bc8-8bcb-10c731ea8fa0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.047428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.297195s] ... 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-f5d5c2d2-a8d5-4a74-9eb4-2da03b43f734 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:20.494584+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-e184950f-92e1-400c-a23a-ae5307e7f8f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:20.494584+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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.045679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.099140s] ... 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-140a4fd4-4b00-44ae-87fa-9555bcf984fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.032046s] ... ok DEBUG util.py:445: {2} 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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_anaconda [0.045655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.110773s] ... 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-9c512a8d-f661-4cf9-927f-bbabdb98cc15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.049300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.161922s] ... 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-58a2dcd4-17f9-439e-9e2f-d63edf25e629 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.047601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_112_portgroups_get_admin [0.062616s] ... 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-5f6803c9-02d4-4005-9fa9-447abf7b196b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_127_portgroups_portgroup_ident_delete_admin [0.094269s] ... 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-a5c7c526-3956-4cff-b9bb-15369cd2ec11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_default_ipxe_boot_from_volume_config [0.042962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_113_portgroups_get_member [0.065021s] ... 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-1ea54132-a3a6-43aa-99d0-3efbc661f347 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.042471s] ... 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.047957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.175197s] ... 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/4c5a13ee-12e5-4201-90e4-a110e79049ae DEBUG util.py:445: Openstack-Request-Id: req-06df4af3-62fa-4dae-8121-e3fad355c5d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4c5a13ee-12e5-4201-90e4-a110e79049ae", "created_at": "2024-03-18T18:16:20.877742+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/4c5a13ee-12e5-4201-90e4-a110e79049ae", "rel": "self"}, {"href": "http://localhost/portgroups/4c5a13ee-12e5-4201-90e4-a110e79049ae", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/4c5a13ee-12e5-4201-90e4-a110e79049ae/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4c5a13ee-12e5-4201-90e4-a110e79049ae/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET /v1/portgroups/4c5a13ee-12e5-4201-90e4-a110e79049ae WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58b3832f-4b50-4816-b5ee-68a50b36752d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "4c5a13ee-12e5-4201-90e4-a110e79049ae", "created_at": "2024-03-18T18:16:20.877742+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/4c5a13ee-12e5-4201-90e4-a110e79049ae", "rel": "self"}, {"href": "http://localhost/portgroups/4c5a13ee-12e5-4201-90e4-a110e79049ae", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/4c5a13ee-12e5-4201-90e4-a110e79049ae/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4c5a13ee-12e5-4201-90e4-a110e79049ae/ports", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_128_portgroups_portgroup_ident_delete_member [0.105076s] ... 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-71c30cfe-1490-4612-bb66-7964986f868c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_114_portgroups_get_observer [0.068740s] ... 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-a162fd8f-fd3c-4e6d-afae-d33e5ebe536d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.028088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.040118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_115_portgroups_post_admin [0.084818s] ... 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-ce8673c2-8c76-4198-a6e1-580e872c7a21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.043595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_129_portgroups_portgroup_ident_delete_observer [0.108129s] ... 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-b3a5a85d-9995-4c15-aa6f-31925ba4684e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.030254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_116_portgroups_post_member [0.084546s] ... 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-b5128e52-6ee9-4954-b5cd-db7abab9ff8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.042990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_130_nodes_portgroups_get_admin [0.103141s] ... 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-70cf397b-b3ac-489f-8c1f-c276290e3172 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.052455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_117_portgroups_post_observer [0.072176s] ... 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-59248bd6-fdff-40ee-b8d5-28920f287637 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv4 [0.048433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_131_nodes_portgroups_get_member [0.080276s] ... 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-0ca410c2-164a-4285-86b3-f1fb8d06c63c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_118_portgroups_detail_get_admin [0.078910s] ... 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-4c914ac5-e533-44fd-aa48-622ad20d367d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv6 [0.046990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_132_nodes_portgroups_get_observer [0.097801s] ... 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-b40376d9-7b94-46bf-9201-a6097ddf57ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv4 [0.054027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_119_portgroups_detail_get_member [0.094488s] ... 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-15bb7daf-8e82-4df5-9f48-f0157748b57f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv6 [0.052354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.042522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_120_portgroups_detail_get_observer [0.075395s] ... 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-70e720f4-dd77-4467-98a8-f15d4aab124c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_133_nodes_portgroups_detail_get_admin [0.095091s] ... 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-12190b33-5b66-4204-a051-b38a928cee9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:21.351543+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.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.046573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_121_portgroups_portgroup_ident_get_admin [0.077873s] ... 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-69957ff4-6f51-4cdb-86a9-e08bd716bd45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.061664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.027103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.025947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_122_portgroups_portgroup_ident_get_member [0.073249s] ... 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-ff0bbc5d-9e43-4ea3-a0a1-4bc5c4186833 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.026190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.683437s] ... 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-0ed1a33e-5e25-4bfa-ad5e-f9d1cabbd873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.035447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_123_portgroups_portgroup_ident_get_observer [0.073643s] ... 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-338ac03d-34c6-4e45-a783-a5a95fa68e5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.042492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.072198s] ... 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-08523088-7566-4961-9e4e-cc2a9f7e74a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.035301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.305328s] ... 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-bc6410ac-f72d-4b4d-afa1-06eecf790248 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_place_common_config [0.033369s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.038609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.102058s] ... 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-60fc8462-a428-42de-88b2-f52c7c7fe8d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildServicePXEConfigTestCase.test_build_service_pxe_config_adopt [0.047308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.106037s] ... 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-cf1da51c-9dcf-42a5-8879-72fc9ac56020 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:21.743983+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.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.020801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.131808s] ... 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-ac5b6c3c-2bd2-4cfb-aff5-b3c4367f1def DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_136_ports_get_admin [0.122533s] ... 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-76612573-8ffb-4e55-ab94-cfc15aa0696a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_124_portgroups_portgroup_ident_patch_admin [0.301028s] ... 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-c5e43034-eb2d-4829-8e78-9d5d4136a831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_137_ports_get_member [0.084034s] ... 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-0ae1cf48-23a4-42ce-b58e-f3067a194621 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_125_portgroups_portgroup_ident_patch_member [0.096318s] ... 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-361a1bee-e95e-4a16-b933-84ec8d1117cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.132801s] ... 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-92132709-73df-4099-b494-9891574047dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-17f54190-beea-47f0-8dc5-55517dee500c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.255803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_126_portgroups_portgroup_ident_patch_observer [0.078307s] ... 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-ccd386c5-7336-4e36-a333-1887f5e88180 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.089358s] ... 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-c433b904-8678-4ec4-8950-ada310109517 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.020185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.021242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.028513s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.019670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_139_ports_post_admin [0.073288s] ... 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-8469ea63-5613-42b9-9006-1fcb7261923b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_127_portgroups_portgroup_ident_delete_admin [0.084446s] ... 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-5bcd1c33-95de-475a-987d-3932bcbecedd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_rpc.TestUtils.test_get_sensors_notifier [0.019925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.164252s] ... 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-2a6a2c59-a857-4c40-b776-df05365cf81c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-18T18:16:22.199592+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: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.019399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.017859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.017421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_128_portgroups_portgroup_ident_delete_member [0.085891s] ... 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-0ca58882-76e6-47d2-b895-00f4c65db50e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.018239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_140_ports_post_member [0.099752s] ... 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-797aa4b3-0e4f-4c14-bbc2-3e3ee656b0fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.017988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.041202s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.125018s] ... 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-02b19778-08bc-4ef6-b3e6-9b581ef37f95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_129_portgroups_portgroup_ident_delete_observer [0.077118s] ... 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-d36777cf-afae-4639-ac94-28b1b87b2699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_141_ports_post_observer [0.073237s] ... 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-c12c3279-8164-4ebc-841c-6892fe19e0fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_rpc.TestUtils.test_init_globals_notifications_enabled [0.037194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.039241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_130_nodes_portgroups_get_admin [0.073619s] ... 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-bad54a9e-bf2e-45cd-aaa0-2898570487b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_142_ports_detail_get_admin [0.088983s] ... 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-1a518fc0-504b-489a-b5a1-e4d25c64af8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:22.401419+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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.155182s] ... 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-d69608f9-7ff3-46ab-a331-dea4926709d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:22.469798+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-df352cec-87d2-42bd-8016-6d5dbdc2b120 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:22.469798+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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_131_nodes_portgroups_get_member [0.083233s] ... 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-429616d3-c624-4c1e-bfc0-6944ad605f53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_143_ports_detail_get_member [0.083226s] ... 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-7ced12b4-255e-4b05-8565-68be49617b30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_132_nodes_portgroups_get_observer [0.071981s] ... 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-050d2258-2d04-4e9d-9886-9f67588094f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_144_ports_detail_get_observer [0.081470s] ... 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-07a5a79d-f055-4965-a0c4-2189e7c37cbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:22.577672+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.TestRBACScoped.test_rbac_legacy_133_nodes_portgroups_detail_get_admin [0.079053s] ... 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-4e163ae5-0897-49aa-8e64-e0cb23a35e52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_portgroup.TestPost.test_create_portgroup_no_address [0.197718s] ... 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-8f202c21-9c0f-4f58-816e-4ba612e8d3d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:22.640498+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-9888b703-5d44-41f1-9b55-e73e1be55a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:22.640498+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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_145_ports_port_id_get_admin [0.099898s] ... 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-34b5df4b-1d21-4459-ba83-a20583dd4068 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:22.679482+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.TestRBACScoped.test_rbac_legacy_134_nodes_portgroups_detail_get_member [0.069628s] ... 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-d4077a93-8886-4c9d-9eac-1a46b9d71416 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.097991s] ... 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-45877a39-0eee-4ecf-b06b-d2eb1db8aefd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_146_ports_port_id_get_member [0.078374s] ... 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-7174f611-4dff-45cf-bd81-36b02d24f699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_135_nodes_portgroups_detail_get_observer [0.068715s] ... 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-ba7a435e-abca-407f-b30f-d2166c70bda4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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___init__ [0.414333s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_136_ports_get_admin [0.066958s] ... 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-1400e325-a98a-4d74-8761-d20d99141e78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_147_ports_port_id_get_observer [0.081744s] ... 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-30cf866d-5e62-4c83-90a4-b31d44a1b17a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:22.841379+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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.136514s] ... 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-a1555ee9-f07d-4205-8ad0-ee6fc69aaee7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_137_ports_get_member [0.069646s] ... 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-6fd41ab9-de3a-4cc5-a8ac-9a69fe2b4b05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_148_ports_port_id_patch_admin [0.109361s] ... 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-da48e06e-036e-4178-afa0-1846ecd375b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_rbac_legacy_138_ports_get_observer [0.110636s] ... 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-17eb2491-2907-436f-8676-ccc3bd65ad33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.122967s] ... 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-c12ba029-a7d1-4f6b-99e0-fe53534cce51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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-d6c3682f-8a55-486e-9d74-066a1a488c64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_149_ports_port_id_patch_member [0.093145s] ... 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-bbaba514-4375-4660-98f4-e564e1c28b88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_139_ports_post_admin [0.103091s] ... 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-3c5eaec9-aee7-4d58-9eee-662df99b9c45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_150_ports_port_id_patch_observer [0.085080s] ... 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-54e8a45b-042e-45ce-8e7b-8a73b446843b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.120494s] ... 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-e517155e-a409-42f7-b8ba-5423c040731e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:23.142614+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-21eb6c31-1a44-47e6-8c82-9d13945ef5a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:23.142614+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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_140_ports_post_member [0.076013s] ... 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-a88c4b6b-ba60-4957-84f2-a41079571dd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_151_ports_port_id_delete_admin [0.073885s] ... 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-fb58315c-de40-43ef-8a86-7a5d538b3f87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.062835s] ... 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-c8259d0f-9cfb-4414-a913-d3e927070ef9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_141_ports_post_observer [0.080629s] ... 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-de589ddd-4e51-404b-be26-d39296e52f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_152_ports_port_id_delete_member [0.079869s] ... 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-4e4a1a25-e268-4d18-a0fc-714e6268c72b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.122552s] ... 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-4a2bfe48-7cda-4702-8076-6209ba091527 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:23.365849+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.TestRBACScoped.test_rbac_legacy_142_ports_detail_get_admin [0.078499s] ... 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-8e6afccd-4496-4c59-b612-4d6bee52e044 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_153_ports_port_id_delete_observer [0.120545s] ... 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-67b319a7-e5ba-4b06-91df-61c40dabef5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_enroll [0.107055s] ... 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-7be6af39-2e68-41d6-bb12-b6cadc231ec8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e30d4bcf-3b1e-4f25-b4ce-89019b58d826"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_143_ports_detail_get_member [0.088190s] ... 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-b81e6e68-c335-412a-90b0-035e91afd6a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_swift.SwiftTestCase.test_create_object [0.677530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_154_nodes_ports_get_admin [0.090265s] ... 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-1efa4b74-40f4-4b86-84d4-dde6eae86d96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_144_ports_detail_get_observer [0.076152s] ... 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-52218ed5-2cd2-49d2-87ac-98af7249fec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_override_defaults [0.109400s] ... 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-61a8f962-6884-4c2e-a943-2d4e8feab575 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "35809be5-0807-4197-a3dc-b2b468a02cd1"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_155_nodes_ports_get_member [0.088225s] ... 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-ecf5ed72-c47e-4a16-86d6-3c4114a88290 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_145_ports_port_id_get_admin [0.080304s] ... 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-9195c1d9-83ef-4fc0-b585-5dfacb4e32e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_156_nodes_ports_get_observer [0.103238s] ... 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-90f704e5-492f-4a10-9d8d-17106dbc4474 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_146_ports_port_id_get_member [0.085777s] ... 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-495dc9fd-e5da-4a9e-ac71-48ee26a73657 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_wrong_driver [0.149752s] ... 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-a10b063a-f2e8-4f80-846c-0a534c53dee4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_147_ports_port_id_get_observer [0.100090s] ... 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-c7609907-5de8-4545-944a-23e3e2c90eee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_inspector_compatibility [0.086710s] ... 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-1af4583e-cfed-4dcf-bf7d-c0fe0ac2cd9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "27ad9c38-0d00-4810-9510-9fc9143465be"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_157_nodes_ports_detail_get_admin [0.110871s] ... 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-6c7f72ad-be67-4e4e-b16f-d7a7be8bf422 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:23.774969+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.TestRBACScoped.test_rbac_legacy_148_ports_port_id_patch_admin [0.086614s] ... 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-ad4f8b00-a041-4121-a449-fff4a431955e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_158_nodes_ports_detail_get_member [0.086713s] ... 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-fc0eabe3-abf7-459e-ba36-f2b9a548e1e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestContinueInspectionScopedRBAC.test_invalid_schema [0.143976s] ... 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-c2294b0a-6336-433f-ac28-27ca51fa6e85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_149_ports_port_id_patch_member [0.091427s] ... 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-7b5589fe-2b4f-4b3c-9c85-b62b5e98777a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_159_nodes_ports_detail_get_observer [0.085613s] ... 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-a22242ef-b63d-46f4-9de2-10e928b570e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:23.968201+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.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_new_api [0.104469s] ... 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-46ad4b49-a6f0-447b-8e0a-a32580f55c2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "c18366a4-4635-4500-b255-cda8b5626ffe", "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/c18366a4-4635-4500-b255-cda8b5626ffe", "rel": "self"}, {"href": "http://localhost/nodes/c18366a4-4635-4500-b255-cda8b5626ffe", "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.TestRBACScoped.test_rbac_legacy_150_ports_port_id_patch_observer [0.083870s] ... 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-f5113787-6d34-4516-a9a2-f6c97b1adb2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_160_portgroups_ports_get_admin [0.100171s] ... 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-397f964b-2d8b-496c-a6f8-2d561d0e207b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_no_usable_lookup_data [0.084014s] ... 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-720aec05-4dea-416c-a85a-effa4c360556 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_151_ports_port_id_delete_admin [0.095788s] ... 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-80cf8410-d1bc-4d3f-8234-ae2596c96d98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_161_portgroups_ports_get_member [0.096086s] ... 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-7a6b54ce-022d-4d7e-9108-953d66ac6e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_old_api_version [0.105056s] ... 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-6afd94e9-1590-4eb7-b545-62852bc54476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_152_ports_port_id_delete_member [0.085311s] ... 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-16d8bdbb-79d4-46de-8d81-107a7e5ddfe0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_162_portgroups_ports_get_observer [0.085491s] ... 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-991637ab-2690-4410-84b8-6346c4633c17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.047776s] ... 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-03ca55e2-f04f-451d-98e7-7f1efd5fa422 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_153_ports_port_id_delete_observer [0.074116s] ... 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-1ede50cc-cce2-45e2-a7a8-a6cc40b7989e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.066416s] ... 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-3618ac1e-dfc7-41e7-a5e9-8113dad7c2ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.029036s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/df94322a-094b-4250-a8af-aac195ba66ff 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-2cc4b988-8076-455c-b3a1-02a6f98a0a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node df94322a-094b-4250-a8af-aac195ba66ff could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_154_nodes_ports_get_admin [0.067004s] ... 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-638dc3e3-abf0-4366-be5b-60ee086e2d71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestHeartbeat.test_ok [0.034889s] ... 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-28a7bfaf-7769-4fd5-b876-ca63d029a925 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_155_nodes_ports_get_member [0.068160s] ... 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-3025bda6-0e82-4e40-a8b3-4626808a4835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_163_portgroups_ports_detail_get_admin [0.196168s] ... 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-394347f3-4f0f-4144-8363-80e132a6cf62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.058228s] ... 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-7fb99825-a113-4f32-9aca-31c4dfd7eaf7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestHeartbeat.test_ok_agent_token [0.048494s] ... 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-93a1cb57-4e4f-4602-aa9c-e5a8242a18cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_156_nodes_ports_get_observer [0.074041s] ... 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-5431fbc1-0f04-45c7-b03c-105827c357e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestHeartbeat.test_ok_agent_verify_ca [0.044156s] ... 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-37224cf1-e8bb-4cd5-83a6-e12cdb87b84f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_157_nodes_ports_detail_get_admin [0.068261s] ... 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-b25597b3-a67e-472b-ae35-c50fb85aeb16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestHeartbeat.test_ok_agent_version [0.046595s] ... 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-fea76b07-5ac0-4c20-abc5-89d4e55cbb52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.170222s] ... 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-e1f5fa5f-b5ed-4f78-a866-da478718cb27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [1.189485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.042380s] ... 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-d109207e-5cbc-4ed0-a565-ca7a340efb44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_158_nodes_ports_detail_get_member [0.068827s] ... 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-37bdf065-860a-4126-a9b9-25aaa89853f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestHeartbeat.test_ok_with_json [0.045239s] ... 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-8c507a42-0a04-4408-9ad3-1d5319b5b07a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestHeartbeat.test_old_API_agent_verify_ca_error [0.036190s] ... 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-65bbc1e4-3517-47b1-bbef-d14f49c6f8f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestRBACScoped.test_rbac_legacy_159_nodes_ports_detail_get_observer [0.102929s] ... 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-f6e132e3-e269-4079-8c1f-710e3ae007c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TestHeartbeat.test_old_API_agent_version_error [0.040914s] ... 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-7634d26b-0784-4e09-be33-6e96f36e4737 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.TestHeartbeat.test_old_api_agent_status_error [0.040339s] ... 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-069448bc-deeb-48fd-9b5a-7bb5e853aa01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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_ramdisk.TestHeartbeat.test_old_api_version [0.032308s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: POST /v1/heartbeat/97a65d95-3f0d-413b-a7bc-cff8563e0853 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-3e6312bb-24e0-4f3e-b2b5-10157d1a3589 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestLookup.test_fast_deploy_lookup [0.064782s] ... 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=4a09be39-8a7f-417e-8248-84de7ef508d6 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c795c405-ec7d-450b-9645-a03aaf632389 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "4a09be39-8a7f-417e-8248-84de7ef508d6", "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/4a09be39-8a7f-417e-8248-84de7ef508d6", "rel": "self"}, {"href": "http://localhost/nodes/4a09be39-8a7f-417e-8248-84de7ef508d6", "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=4a09be39-8a7f-417e-8248-84de7ef508d6 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc7070fc-0b13-4471-bfc4-96b9fa989a42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "4a09be39-8a7f-417e-8248-84de7ef508d6", "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/4a09be39-8a7f-417e-8248-84de7ef508d6", "rel": "self"}, {"href": "http://localhost/nodes/4a09be39-8a7f-417e-8248-84de7ef508d6", "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=4a09be39-8a7f-417e-8248-84de7ef508d6 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e43cba0-e7b6-413a-b40b-92afe8937769 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "4a09be39-8a7f-417e-8248-84de7ef508d6", "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/4a09be39-8a7f-417e-8248-84de7ef508d6", "rel": "self"}, {"href": "http://localhost/nodes/4a09be39-8a7f-417e-8248-84de7ef508d6", "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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.302286s] ... 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-2e7fd45d-812b-42e9-9394-8a4578cb9fb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_160_portgroups_ports_get_admin [0.168805s] ... 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-b765173c-5a02-49c7-b85f-972be869e998 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.058420s] ... 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-3d249fb3-5cc2-4d6d-a418-29b20ecb63e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0fdb808c-7227-4c64-9c31-f25846ff6d72", "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/0fdb808c-7227-4c64-9c31-f25846ff6d72", "rel": "self"}, {"href": "http://localhost/nodes/0fdb808c-7227-4c64-9c31-f25846ff6d72", "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: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.040961s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/lookup?node_uuid=da5d0d21-bdf3-4d51-bb1d-938d71bbb959 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c22c9a4-f14c-4936-ba5e-e19c9f8bf937 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "da5d0d21-bdf3-4d51-bb1d-938d71bbb959", "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/da5d0d21-bdf3-4d51-bb1d-938d71bbb959", "rel": "self"}, {"href": "http://localhost/nodes/da5d0d21-bdf3-4d51-bb1d-938d71bbb959", "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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_166_volume_get_admin [0.136706s] ... 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-9b5548d4-6983-4be9-8f82-69c8bf67df03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_swift.SwiftTestCase.test_create_object_create_object_fails [0.432071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_161_portgroups_ports_get_member [0.204820s] ... 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-dea1c6ce-d1cd-4596-a673-4070133bffd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_167_volume_get_member [0.077597s] ... 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-3fd2f319-c9cc-4ebc-86c9-e7a62b4a5149 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.117130s] ... 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=8ad4ddbc-a5ee-4333-a877-0d9e80804c3a WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea63d106-aac1-48f4-929b-5fa151fa1a7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "8ad4ddbc-a5ee-4333-a877-0d9e80804c3a", "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/8ad4ddbc-a5ee-4333-a877-0d9e80804c3a", "rel": "self"}, {"href": "http://localhost/nodes/8ad4ddbc-a5ee-4333-a877-0d9e80804c3a", "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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_168_volume_get_observer [0.063216s] ... 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-5a63784e-6f28-4706-aa60-a8fe95f32762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.079500s] ... 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-fcc0278f-eed4-409a-b765-15668df734d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "55c902f1-7138-4bf5-b66b-c987ad155ec7", "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/55c902f1-7138-4bf5-b66b-c987ad155ec7", "rel": "self"}, {"href": "http://localhost/nodes/55c902f1-7138-4bf5-b66b-c987ad155ec7", "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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_162_portgroups_ports_get_observer [0.126365s] ... 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-60fe6f37-81a1-45e6-8b89-b6976d972f40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_169_volume_connectors_get_admin [0.078113s] ... 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-73a8d1a0-c158-4165-9743-eb8f19b0ad55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_163_portgroups_ports_detail_get_admin [0.076448s] ... 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-cec9d1eb-cc76-416a-ada3-66ab0a576cee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.115736s] ... 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=1f2d9514-d233-4c33-8b1a-785dcf5bd552 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b9d7828-39e8-42bd-b4d3-5d3caf0f14d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1f2d9514-d233-4c33-8b1a-785dcf5bd552", "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/1f2d9514-d233-4c33-8b1a-785dcf5bd552", "rel": "self"}, {"href": "http://localhost/nodes/1f2d9514-d233-4c33-8b1a-785dcf5bd552", "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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_170_volume_connectors_get_member [0.072545s] ... 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-ff8b3b4d-1bfb-44e4-864c-017ffcd5ecc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.101033s] ... 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-a740332d-63ec-43c8-bec1-dd436ec60efb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestLookup.test_nothing_provided [0.044557s] ... 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-7133e51f-ec0e-4b53-b6e5-a557d9b49041 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_171_volume_connectors_get_observer [0.158059s] ... 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-cb45f840-5d3f-4cb8-b211-750fde4637a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.114949s] ... 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-5687c042-30cd-4e7a-8f5e-5f989dbbb101 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_ramdisk.TestLookup.test_restrict_lookup [0.061560s] ... 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=efa138c5-120b-4d92-8701-dfc1311f23ce WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-799601b4-1f51-4e5d-84b6-1f33cb971e8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.031779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.045185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.022559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.022355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.020658s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_164_portgroups_ports_detail_get_member [0.491327s] ... 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-ffb60d5d-6bdb-4f3c-860c-f55a1b233dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_172_volume_connectors_post_admin [0.342659s] ... 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/65fde6aa-232f-4a62-92cf-ff80f62a214d DEBUG util.py:445: Openstack-Request-Id: req-7e8e33d9-8150-4fa5-9233-1d255d800977 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "65fde6aa-232f-4a62-92cf-ff80f62a214d", "created_at": "2024-03-18T18:16:25.893567+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/65fde6aa-232f-4a62-92cf-ff80f62a214d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65fde6aa-232f-4a62-92cf-ff80f62a214d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.022000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.031378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.020862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.027075s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.018486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_165_portgroups_ports_detail_get_observer [0.129323s] ... 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-869e3bc2-8f1d-4b79-8455-9519bfa45fc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.021429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.059250s] ... 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-9beed405-3121-499f-9a74-995a98d0bc7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "e59c2061-8813-45a2-ad5b-8e416adacdc0", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/e59c2061-8813-45a2-ad5b-8e416adacdc0", "rel": "self"}, {"href": "http://localhost/volume/connectors/e59c2061-8813-45a2-ad5b-8e416adacdc0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "93c30f1d-16bf-48e2-b9b7-edb81a325589", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/93c30f1d-16bf-48e2-b9b7-edb81a325589", "rel": "self"}, {"href": "http://localhost/volume/connectors/93c30f1d-16bf-48e2-b9b7-edb81a325589", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b4e2a11e-e283-4b49-976e-5eb9fcd687c8", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b4e2a11e-e283-4b49-976e-5eb9fcd687c8", "rel": "self"}, {"href": "http://localhost/volume/connectors/b4e2a11e-e283-4b49-976e-5eb9fcd687c8", "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=b4e2a11e-e283-4b49-976e-5eb9fcd687c8"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.054203s] ... 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-40cd064b-8cdb-48a1-9af4-4802398a364e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3f2bc415-4c31-4d2a-b099-cbd5f0c728e4", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/3f2bc415-4c31-4d2a-b099-cbd5f0c728e4", "rel": "self"}, {"href": "http://localhost/volume/connectors/3f2bc415-4c31-4d2a-b099-cbd5f0c728e4", "rel": "bookmark"}]}, {"uuid": "170b0bda-0c73-4c13-b874-dd562fe31bc0", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/170b0bda-0c73-4c13-b874-dd562fe31bc0", "rel": "self"}, {"href": "http://localhost/volume/connectors/170b0bda-0c73-4c13-b874-dd562fe31bc0", "rel": "bookmark"}]}, {"uuid": "4a73f486-ae38-4f3e-ac47-504af3775ad5", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/4a73f486-ae38-4f3e-ac47-504af3775ad5", "rel": "self"}, {"href": "http://localhost/volume/connectors/4a73f486-ae38-4f3e-ac47-504af3775ad5", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=4a73f486-ae38-4f3e-ac47-504af3775ad5"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_166_volume_get_admin [0.125002s] ... 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-01cb328b-8619-4864-8f10-46de64602b10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_173_volume_connectors_post_member [0.276028s] ... 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-a82ff3c9-2eda-4949-a4d0-ecba402115ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_swift.SwiftTestCase.test_create_object_from_data [1.081226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_167_volume_get_member [0.157614s] ... 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-39220751-943d-45eb-825b-ba446504dc17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_174_volume_connectors_post_observer [0.154037s] ... 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-4e572695-cced-41ab-834f-7a029675c605 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.253597s] ... 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-14c20f77-59bb-48b7-8bf3-f85c1f899e77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "09a369cb-4ec0-4597-817e-1ba06c7809c8", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/09a369cb-4ec0-4597-817e-1ba06c7809c8", "rel": "self"}, {"href": "http://localhost/volume/connectors/09a369cb-4ec0-4597-817e-1ba06c7809c8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "78a6cf4e-8a65-4992-827c-7599703c7a8a", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/78a6cf4e-8a65-4992-827c-7599703c7a8a", "rel": "self"}, {"href": "http://localhost/volume/connectors/78a6cf4e-8a65-4992-827c-7599703c7a8a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3387f39c-02cc-4c4d-b2fd-1217326be54d", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3387f39c-02cc-4c4d-b2fd-1217326be54d", "rel": "self"}, {"href": "http://localhost/volume/connectors/3387f39c-02cc-4c4d-b2fd-1217326be54d", "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=3387f39c-02cc-4c4d-b2fd-1217326be54d"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_168_volume_get_observer [0.119072s] ... 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-9265e37f-b74c-43d4-9e06-16c7cec963ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.052630s] ... 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-0c951fe5-a209-48b1-beb8-596fa1adff76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "a0e18096-1ab6-4d05-b59e-d323e2c4fcac", "created_at": "2024-03-18T18:16:26.404676+00:00", "updated_at": null, "connector_id": "test-connector_id-0", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/a0e18096-1ab6-4d05-b59e-d323e2c4fcac", "rel": "self"}, {"href": "http://localhost/volume/connectors/a0e18096-1ab6-4d05-b59e-d323e2c4fcac", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "e00de2b6-6dba-4821-ba37-2acc9a3de247", "created_at": "2024-03-18T18:16:26.405637+00:00", "updated_at": null, "connector_id": "test-connector_id-1", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/e00de2b6-6dba-4821-ba37-2acc9a3de247", "rel": "self"}, {"href": "http://localhost/volume/connectors/e00de2b6-6dba-4821-ba37-2acc9a3de247", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "dc463ff5-6a50-4a71-b1bb-b31ffb30a592", "created_at": "2024-03-18T18:16:26.406552+00:00", "updated_at": null, "connector_id": "test-connector_id-2", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/dc463ff5-6a50-4a71-b1bb-b31ffb30a592", "rel": "self"}, {"href": "http://localhost/volume/connectors/dc463ff5-6a50-4a71-b1bb-b31ffb30a592", "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=dc463ff5-6a50-4a71-b1bb-b31ffb30a592"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.049326s] ... 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-6e5eab3c-6327-440b-8299-3f4773e7c94a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:26.466573+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.TestRBACScoped.test_rbac_legacy_169_volume_connectors_get_admin [0.075817s] ... 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-1667b029-19b1-4e98-be8e-c51d5c21aeb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_175_volume_volume_connector_id_get_admin [0.148488s] ... 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-83283909-bfd0-4be6-90af-eee3c13d7c1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:26.440885+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_detail_against_single [0.040165s] ... 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-b9dceedd-325d-417e-b336-71d1eda6507c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_170_volume_connectors_get_member [0.066107s] ... 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-dc95a8e3-a739-401b-b4ce-7b40b9c3c0c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.038305s] ... 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-2fc76884-3327-4bf4-abaa-2912fc8b7b32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.043215s] ... 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-d3fadf0d-a8c5-463c-832e-8ac4eeebb12c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:26.588485+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_detail_false [0.040848s] ... 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-cf4cd5be-f19c-4691-a54e-60eef160547e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_171_volume_connectors_get_observer [0.092736s] ... 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-52e9f219-4df4-497f-9dfa-b2ec76ba27dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_176_volume_volume_connector_id_get_member [0.153530s] ... 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-41661e74-d2c9-4da1-be15-1e0e604120ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.033223s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.038486s] ... 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-47dee20b-6931-4d90-910a-c3aaa57a0485 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_172_volume_connectors_post_admin [0.085116s] ... 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-da5607bf-1f54-49d3-b9aa-cc0fa5f173bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_swift.SwiftTestCase.test_create_object_from_data_create_container_fails [0.541014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.035140s] ... 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-548f5f98-3ba3-4b2c-8ea5-0920dea366d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.142340s] ... 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-69702e07-0e96-4fea-9cae-c233a8881c26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:26.732915+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.TestRBACScoped.test_rbac_legacy_173_volume_connectors_post_member [0.084515s] ... 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-bb1cb8a9-81a2-4ea2-adb8-5d399cdc3c78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.069565s] ... 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-f1752acd-00ba-4f1d-b6d3-6b339873eb11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "35812209-5319-4129-b720-c86cfa44e153", "connector_id": "test-value-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/35812209-5319-4129-b720-c86cfa44e153", "rel": "self"}, {"href": "http://localhost/volume/connectors/35812209-5319-4129-b720-c86cfa44e153", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d62e1953-7a41-44f2-a865-f2f43f3ba251", "connector_id": "test-value-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d62e1953-7a41-44f2-a865-f2f43f3ba251", "rel": "self"}, {"href": "http://localhost/volume/connectors/d62e1953-7a41-44f2-a865-f2f43f3ba251", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "2a3f30b3-51f4-4ac7-9717-2fd05181bf94", "connector_id": "test-value-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/2a3f30b3-51f4-4ac7-9717-2fd05181bf94", "rel": "self"}, {"href": "http://localhost/volume/connectors/2a3f30b3-51f4-4ac7-9717-2fd05181bf94", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_174_volume_connectors_post_observer [0.071607s] ... 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-353b067f-aa6c-4f75-a0b9-a93ceff66b1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.072587s] ... 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-ab574e96-b3cf-45ad-be17-037d0bb74b04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "90bf5655-43ed-4f02-b5f4-a4dc89730ca8", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/90bf5655-43ed-4f02-b5f4-a4dc89730ca8", "rel": "self"}, {"href": "http://localhost/volume/connectors/90bf5655-43ed-4f02-b5f4-a4dc89730ca8", "rel": "bookmark"}]}, {"uuid": "44f13622-504c-4e2d-b1b2-874eca415c1e", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/44f13622-504c-4e2d-b1b2-874eca415c1e", "rel": "self"}, {"href": "http://localhost/volume/connectors/44f13622-504c-4e2d-b1b2-874eca415c1e", "rel": "bookmark"}]}, {"uuid": "1f3b2f07-3e1c-4e4d-9859-51c9559bbc54", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/1f3b2f07-3e1c-4e4d-9859-51c9559bbc54", "rel": "self"}, {"href": "http://localhost/volume/connectors/1f3b2f07-3e1c-4e4d-9859-51c9559bbc54", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.112982s] ... 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-989221be-7faa-4487-aa54-9fa2384e5b8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_rbac_legacy_175_volume_volume_connector_id_get_admin [0.071331s] ... 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-88b4d6cf-41d2-4dfd-b832-2bcf849e32fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.069508s] ... 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-58ad9cdf-37b6-4f6e-a9a4-3005a4c9531d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/17187676-caca-405d-af1b-bfbef16d410b", "rel": "self"}, {"href": "http://localhost/volume/connectors/17187676-caca-405d-af1b-bfbef16d410b", "rel": "bookmark"}]}, {"connector_id": "test-connector_id-1", "links": [{"href": "http://localhost/v1/volume/connectors/54041d37-ada0-47e6-aed5-ce4543b9e8f7", "rel": "self"}, {"href": "http://localhost/volume/connectors/54041d37-ada0-47e6-aed5-ce4543b9e8f7", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=54041d37-ada0-47e6-aed5-ce4543b9e8f7"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.042999s] ... 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.111032s] ... 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-3d43a864-d739-4f49-a7fb-c2ddfeb54273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_176_volume_volume_connector_id_get_member [0.075537s] ... 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-6117ee93-a6ed-4737-bcc4-c0bebf887044 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.074609s] ... 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-1351812b-d033-4fc1-9361-e9e779986aff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACScoped.test_rbac_legacy_177_volume_volume_connector_id_get_observer [0.077802s] ... 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-f14d843b-9fa8-40fc-8420-e67cd6f924d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.065221s] ... 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-67bf86b8-a479-45d0-bbaa-d9ab8224d28a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:27.129375+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_180_volume_volume_connector_id_patch_observer [0.132428s] ... 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-788d73dc-6fbc-4278-bda3-872d6e09e266 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_178_volume_volume_connector_id_patch_admin [0.067670s] ... 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-f968421a-43b2-4d27-861e-485f9385634a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.065430s] ... 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-a419fbd0-e04b-4f67-9f20-6cb255749baf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.031003s] ... 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_179_volume_volume_connector_id_patch_member [0.077714s] ... 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-2d479124-c2ed-4de3-b585-40cc722f7768 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_181_volume_volume_connector_id_delete_admin [0.109053s] ... 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-7df6f865-5df2-4502-ae12-40641303c622 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.057517s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-790b93a6-9913-4a94-ae41-841d5b923cd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d5b351e7-3a88-44b5-8731-aaa3d05bf542", "created_at": "2024-03-18T18:16:27.276308+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542", "rel": "self"}, {"href": "http://localhost/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-577c4095-91a5-4de1-8da1-e6d81aa73b60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d5b351e7-3a88-44b5-8731-aaa3d05bf542", "created_at": "2024-03-18T18:16:27.276308+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542", "rel": "self"}, {"href": "http://localhost/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6446996-7b4d-49ee-91c4-9300f2f2c4ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d5b351e7-3a88-44b5-8731-aaa3d05bf542", "created_at": "2024-03-18T18:16:27.276308+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542", "rel": "self"}, {"href": "http://localhost/volume/connectors/d5b351e7-3a88-44b5-8731-aaa3d05bf542", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_180_volume_volume_connector_id_patch_observer [0.075841s] ... 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-1a66c3b0-037f-4272-aa8a-f5906463b195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.049377s] ... 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-66ec5841-8bda-4988-9ed8-0fa1e48f2608 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d5adae2c-4ba1-422f-ab9c-febe6565ada6", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d5adae2c-4ba1-422f-ab9c-febe6565ada6", "rel": "self"}, {"href": "http://localhost/volume/connectors/d5adae2c-4ba1-422f-ab9c-febe6565ada6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b08b5600-3224-4e65-bb0d-883f73fac3db", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b08b5600-3224-4e65-bb0d-883f73fac3db", "rel": "self"}, {"href": "http://localhost/volume/connectors/b08b5600-3224-4e65-bb0d-883f73fac3db", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "bfe54260-f255-4d58-9615-09e91fd6511b", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/bfe54260-f255-4d58-9615-09e91fd6511b", "rel": "self"}, {"href": "http://localhost/volume/connectors/bfe54260-f255-4d58-9615-09e91fd6511b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8ba8930a-f537-4180-93c8-0314c6993bb9", "connector_id": "test-connector_id-3", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/8ba8930a-f537-4180-93c8-0314c6993bb9", "rel": "self"}, {"href": "http://localhost/volume/connectors/8ba8930a-f537-4180-93c8-0314c6993bb9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "538aa73d-c49c-4e0a-a2a3-e64f294fdc52", "connector_id": "test-connector_id-4", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/538aa73d-c49c-4e0a-a2a3-e64f294fdc52", "rel": "self"}, {"href": "http://localhost/volume/connectors/538aa73d-c49c-4e0a-a2a3-e64f294fdc52", "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_one [0.036062s] ... 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-9b38d918-c729-47b2-b5d1-7736e53b63d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.137070s] ... 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-f60dfcef-7cfe-4ad4-a6a5-29f1ba9109e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_181_volume_volume_connector_id_delete_admin [0.075304s] ... 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-e375d16a-ea44-452f-9227-69584aebcf0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.060936s] ... 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_182_volume_volume_connector_id_delete_member [0.087360s] ... 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-5ed17282-96f7-43d5-874c-d0ecaa770025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.067892s] ... 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-c1bb45ce-0e30-4303-851d-2eeb9abdfb0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9d7b6f77-89aa-4044-a84b-44fbecbd71e8", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/9d7b6f77-89aa-4044-a84b-44fbecbd71e8", "rel": "self"}, {"href": "http://localhost/volume/connectors/9d7b6f77-89aa-4044-a84b-44fbecbd71e8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "a350b9bd-06d5-4c1e-967e-b4ef6169687f", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/a350b9bd-06d5-4c1e-967e-b4ef6169687f", "rel": "self"}, {"href": "http://localhost/volume/connectors/a350b9bd-06d5-4c1e-967e-b4ef6169687f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b39bf03e-73d5-452c-979e-6a4b2ba9a3e3", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b39bf03e-73d5-452c-979e-6a4b2ba9a3e3", "rel": "self"}, {"href": "http://localhost/volume/connectors/b39bf03e-73d5-452c-979e-6a4b2ba9a3e3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data_create_object_fails [0.811094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.039204s] ... 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-e4555798-3c2d-4ed0-8ab1-cf9c7dbb3089 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-83d6dad0-3871-43a8-b5f5-64633015a59e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_183_volume_volume_connector_id_delete_observer [0.071717s] ... 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-e5c23046-85d3-4d04-a607-5f77d3675366 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_183_volume_volume_connector_id_delete_observer [0.169931s] ... 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-29729b7c-f6fb-4d47-b59e-a9254fccf338 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.053336s] ... 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-ad8c67a3-0eec-4aaa-8216-a13290839a0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "243967ad-5ad8-4f3c-a38c-0fdc71b6f789", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/243967ad-5ad8-4f3c-a38c-0fdc71b6f789", "rel": "self"}, {"href": "http://localhost/volume/targets/243967ad-5ad8-4f3c-a38c-0fdc71b6f789", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "0128f8d3-2643-46a7-8ee4-7cc0f011a39d", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/0128f8d3-2643-46a7-8ee4-7cc0f011a39d", "rel": "self"}, {"href": "http://localhost/volume/targets/0128f8d3-2643-46a7-8ee4-7cc0f011a39d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8b2ca375-9013-48e8-a75e-a44d7bae1fdb", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8b2ca375-9013-48e8-a75e-a44d7bae1fdb", "rel": "self"}, {"href": "http://localhost/volume/targets/8b2ca375-9013-48e8-a75e-a44d7bae1fdb", "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=8b2ca375-9013-48e8-a75e-a44d7bae1fdb"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_184_volume_targets_get_admin [0.067575s] ... 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-343425d1-3a9e-4959-b366-a1748ed6140e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.059871s] ... 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-6ab69fea-5f77-422d-9edf-eaf03030d3cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b6a9bea0-905c-458a-a912-b37d51e157d3", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/b6a9bea0-905c-458a-a912-b37d51e157d3", "rel": "self"}, {"href": "http://localhost/volume/targets/b6a9bea0-905c-458a-a912-b37d51e157d3", "rel": "bookmark"}]}, {"uuid": "90f92855-2ee4-4449-bf87-9be7bb14c372", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/90f92855-2ee4-4449-bf87-9be7bb14c372", "rel": "self"}, {"href": "http://localhost/volume/targets/90f92855-2ee4-4449-bf87-9be7bb14c372", "rel": "bookmark"}]}, {"uuid": "8caa25ae-4507-4ea1-8d03-ef589c81f836", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/8caa25ae-4507-4ea1-8d03-ef589c81f836", "rel": "self"}, {"href": "http://localhost/volume/targets/8caa25ae-4507-4ea1-8d03-ef589c81f836", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=8caa25ae-4507-4ea1-8d03-ef589c81f836"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_185_volume_targets_get_member [0.064216s] ... 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-4dcaad17-6807-426d-a140-8609eb2b6617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_184_volume_targets_get_admin [0.148253s] ... 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-35146deb-1ef2-4e18-9bae-a878c64dde7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.080821s] ... 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-f7957172-56be-42b5-a609-f5b58d723be0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "63f68ea9-1905-4792-982a-3745b3271a86", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/63f68ea9-1905-4792-982a-3745b3271a86", "rel": "self"}, {"href": "http://localhost/volume/targets/63f68ea9-1905-4792-982a-3745b3271a86", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "434b08b8-6ae8-4645-a0dc-78f2bb81a149", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/434b08b8-6ae8-4645-a0dc-78f2bb81a149", "rel": "self"}, {"href": "http://localhost/volume/targets/434b08b8-6ae8-4645-a0dc-78f2bb81a149", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b520f8d9-c9cf-4933-8601-85122da68727", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/b520f8d9-c9cf-4933-8601-85122da68727", "rel": "self"}, {"href": "http://localhost/volume/targets/b520f8d9-c9cf-4933-8601-85122da68727", "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=b520f8d9-c9cf-4933-8601-85122da68727"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_186_volume_targets_get_observer [0.078219s] ... 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-ed2ea746-a834-4c52-8432-2b88319d740f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.052394s] ... 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-e796f9da-9946-4edd-8e7c-6e773954ab2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "637f18b7-83e6-49d5-a10f-30132597068f", "created_at": "2024-03-18T18:16:27.797619+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/637f18b7-83e6-49d5-a10f-30132597068f", "rel": "self"}, {"href": "http://localhost/volume/targets/637f18b7-83e6-49d5-a10f-30132597068f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "eac4108a-df1c-4609-bebc-e3679600606a", "created_at": "2024-03-18T18:16:27.798529+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/eac4108a-df1c-4609-bebc-e3679600606a", "rel": "self"}, {"href": "http://localhost/volume/targets/eac4108a-df1c-4609-bebc-e3679600606a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "56dccf0b-f3d1-48c2-ba10-4436754459de", "created_at": "2024-03-18T18:16:27.799361+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/56dccf0b-f3d1-48c2-ba10-4436754459de", "rel": "self"}, {"href": "http://localhost/volume/targets/56dccf0b-f3d1-48c2-ba10-4436754459de", "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=56dccf0b-f3d1-48c2-ba10-4436754459de"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.041890s] ... 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-d1579d13-2996-4f98-91f1-dce4ed1479dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:27.850636+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.TestRBACScoped.test_rbac_legacy_187_volume_targets_post_admin [0.079993s] ... 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-1ba1bed6-504d-4bd0-b855-0d3ae5a80405 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.041956s] ... 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-9ab5921d-450e-432d-b9ac-b719483f9c0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_target.TestListVolumeTargets.test_detail_and_fields [0.032866s] ... 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-246b9b52-fb6c-4a64-8508-3b7bb315f85c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_188_volume_targets_post_member [0.076764s] ... 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-0ffcf3e9-cac1-4e84-ae66-33fe7ec8c0a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_185_volume_targets_get_member [0.223341s] ... 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-48cccf04-82fa-46aa-9e87-710b3e6c7d8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.043435s] ... 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-1c5cf4b3-db80-45c2-9b9c-9312375a8047 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:27.975585+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.TestRBACScoped.test_rbac_legacy_189_volume_targets_post_observer [0.076548s] ... 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-e9e85312-1560-402c-a1ea-11eca93474db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_186_volume_targets_get_observer [0.128564s] ... 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-e9fdd81a-400a-4aa6-af08-8278c1760cd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.075282s] ... 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-4a231467-c560-4ac1-aabb-ba14db6d31dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.113711s] ... 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-a4c93d8f-6c66-4f3a-bd16-0da7c09ed55d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.067052s] ... 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_191_volume_volume_target_id_get_member [0.080681s] ... 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-d627f414-7447-419e-b7d3-e8432843723a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.046824s] ... 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-f4806e21-3f82-4d37-8027-31fe45be555c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_187_volume_targets_post_admin [0.154594s] ... 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/e4bc3928-5ae9-43bb-a356-ebeb8b792e3d DEBUG util.py:445: Openstack-Request-Id: req-2e757bda-42b8-42b4-b4a7-690e43602561 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e4bc3928-5ae9-43bb-a356-ebeb8b792e3d", "created_at": "2024-03-18T18:16:28.224578+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e4bc3928-5ae9-43bb-a356-ebeb8b792e3d", "rel": "self"}, {"href": "http://localhost/volume/targets/e4bc3928-5ae9-43bb-a356-ebeb8b792e3d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.070906s] ... 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-74bb0617-82fa-4ceb-aa97-c7d20bd725fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_swift.SwiftTestCase.test_delete_object [0.722175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.079728s] ... 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-dee223f0-ffee-4ac7-ab05-f24e16a38365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.083986s] ... 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-ec8ba827-9181-4047-942e-06652c63111e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_188_volume_targets_post_member [0.122366s] ... 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-73e74f9c-6f7e-410d-86e6-9d0e6230a2dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.077893s] ... 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-89345615-4aaf-45fc-a68a-f7a7fcb708d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_189_volume_targets_post_observer [0.115679s] ... 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-9f0ae40f-d64b-45cd-bcd5-8e209077451f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.149548s] ... 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-bd5599ca-9e73-4131-b2f2-e39ed8a4dc36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "211e1bab-668e-47db-8693-be6c07ab0780", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/211e1bab-668e-47db-8693-be6c07ab0780", "rel": "self"}, {"href": "http://localhost/volume/targets/211e1bab-668e-47db-8693-be6c07ab0780", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "19015672-4b62-44e2-9401-b5d1cb61130b", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/19015672-4b62-44e2-9401-b5d1cb61130b", "rel": "self"}, {"href": "http://localhost/volume/targets/19015672-4b62-44e2-9401-b5d1cb61130b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "2a349b6c-9669-43f8-b21d-fcd2ae4a2af8", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2a349b6c-9669-43f8-b21d-fcd2ae4a2af8", "rel": "self"}, {"href": "http://localhost/volume/targets/2a349b6c-9669-43f8-b21d-fcd2ae4a2af8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_195_volume_volume_target_id_patch_observer [0.113308s] ... 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-cd950290-b72e-4953-9c6f-8ff4d7ef5d73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.106381s] ... 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-655df8d9-7e80-4431-bf7c-c817b2c4a0d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ad75b8d1-21d1-451d-b6ce-5c9deb40aa67", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/ad75b8d1-21d1-451d-b6ce-5c9deb40aa67", "rel": "self"}, {"href": "http://localhost/volume/targets/ad75b8d1-21d1-451d-b6ce-5c9deb40aa67", "rel": "bookmark"}]}, {"uuid": "707742df-69fa-4497-aeff-0ba1a05a735b", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/707742df-69fa-4497-aeff-0ba1a05a735b", "rel": "self"}, {"href": "http://localhost/volume/targets/707742df-69fa-4497-aeff-0ba1a05a735b", "rel": "bookmark"}]}, {"uuid": "c6278c3b-6f0c-43ea-a06c-b2575390555d", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/c6278c3b-6f0c-43ea-a06c-b2575390555d", "rel": "self"}, {"href": "http://localhost/volume/targets/c6278c3b-6f0c-43ea-a06c-b2575390555d", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.078383s] ... 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-7f673a12-654f-4b38-958b-94acf6d81ff4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.061240s] ... 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-5f25bb57-a454-4da4-82f3-69491003392c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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/7832a913-2c38-4fe8-a8f6-92edc9a86b5c", "rel": "self"}, {"href": "http://localhost/volume/targets/7832a913-2c38-4fe8-a8f6-92edc9a86b5c", "rel": "bookmark"}]}, {"boot_index": 1, "links": [{"href": "http://localhost/v1/volume/targets/73431ccc-7b7a-4e02-b460-973d4650e2b2", "rel": "self"}, {"href": "http://localhost/volume/targets/73431ccc-7b7a-4e02-b460-973d4650e2b2", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=73431ccc-7b7a-4e02-b460-973d4650e2b2"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_190_volume_volume_target_id_get_admin [0.179876s] ... 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-ed877db9-d09f-4b5e-bcdc-43993c7d2e41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:28.560180+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.TestRBACScoped.test_rbac_legacy_197_volume_volume_target_id_delete_member [0.095250s] ... 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-ef50f4c1-c052-45cc-8dc4-f16166011e2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.072360s] ... 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-9d1f5d9b-60b5-417d-8cc0-058a92c560c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_acl.TestRBACScoped.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.101055s] ... 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-025f498b-3b78-4bd3-ad9d-df105b26963a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.068437s] ... 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-11805a5f-4b06-4521-bbea-a5926c512998 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:28.775968+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.190203s] ... 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-e7c095f5-16f9-4a09-ab83-8e77ba46ff1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_199_nodes_volume_get_admin [0.069081s] ... 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-464ba433-c20d-49b9-8037-03d02b7e3b5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.072327s] ... 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-4fea5602-116a-488f-97bf-93db4f39f52f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.040061s] ... 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.TestRBACScoped.test_rbac_legacy_200_nodes_volume_get_member [0.157189s] ... 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-978ab4df-dcfc-46bd-8c3f-cf3644f376eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.107926s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/volume/targets/00d69315-e600-41be-99b4-7039286150a7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4dab959-0d9b-4f2e-9ba1-1d12d2dfcda5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "00d69315-e600-41be-99b4-7039286150a7", "created_at": "2024-03-18T18:16:28.971879+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/00d69315-e600-41be-99b4-7039286150a7", "rel": "self"}, {"href": "http://localhost/volume/targets/00d69315-e600-41be-99b4-7039286150a7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /v1/volume/targets/00d69315-e600-41be-99b4-7039286150a7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-968ff9d2-b717-4846-b8c1-7c451aeabbef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "00d69315-e600-41be-99b4-7039286150a7", "created_at": "2024-03-18T18:16:28.971879+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/00d69315-e600-41be-99b4-7039286150a7", "rel": "self"}, {"href": "http://localhost/volume/targets/00d69315-e600-41be-99b4-7039286150a7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET /volume/targets/00d69315-e600-41be-99b4-7039286150a7 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a6b50c1-ddaa-45e6-841a-ae480b144f5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "00d69315-e600-41be-99b4-7039286150a7", "created_at": "2024-03-18T18:16:28.971879+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/00d69315-e600-41be-99b4-7039286150a7", "rel": "self"}, {"href": "http://localhost/volume/targets/00d69315-e600-41be-99b4-7039286150a7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.792820s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_192_volume_volume_target_id_get_observer [0.267382s] ... 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-a466f34d-075d-4ba0-92ff-2b7553c887f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:29.006173+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.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.083370s] ... 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-f4cf8296-236c-42ac-a18f-7253da3a0a82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "e95205b8-5ab0-4e18-9a57-8a5d32b5a67e", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e95205b8-5ab0-4e18-9a57-8a5d32b5a67e", "rel": "self"}, {"href": "http://localhost/volume/targets/e95205b8-5ab0-4e18-9a57-8a5d32b5a67e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "7817f21a-c0ef-4611-b084-4a36c4b37d42", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/7817f21a-c0ef-4611-b084-4a36c4b37d42", "rel": "self"}, {"href": "http://localhost/volume/targets/7817f21a-c0ef-4611-b084-4a36c4b37d42", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "81cc1573-135f-4572-8ce8-b2a86af80900", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/81cc1573-135f-4572-8ce8-b2a86af80900", "rel": "self"}, {"href": "http://localhost/volume/targets/81cc1573-135f-4572-8ce8-b2a86af80900", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "caabc8ea-49c4-4372-a0d2-af6b14623907", "boot_index": 3, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/caabc8ea-49c4-4372-a0d2-af6b14623907", "rel": "self"}, {"href": "http://localhost/volume/targets/caabc8ea-49c4-4372-a0d2-af6b14623907", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d6ac78c9-eb23-4c68-8d4c-6531c3724d00", "boot_index": 4, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/d6ac78c9-eb23-4c68-8d4c-6531c3724d00", "rel": "self"}, {"href": "http://localhost/volume/targets/d6ac78c9-eb23-4c68-8d4c-6531c3724d00", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.056882s] ... 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-7a739659-2ae3-41bf-850f-c2681d7a5c5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_rbac_legacy_201_nodes_volume_get_observer [0.167369s] ... 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-5920b15f-a1bb-44a2-bc4d-8bd066cce43c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.040850s] ... 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: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.056573s] ... 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-19f41717-e586-4599-b511-0075269d7dc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "1b53b546-8d92-4a23-bb73-9a02715b11bd", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1b53b546-8d92-4a23-bb73-9a02715b11bd", "rel": "self"}, {"href": "http://localhost/volume/targets/1b53b546-8d92-4a23-bb73-9a02715b11bd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "34934209-1536-4d75-9d6f-661202f014de", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/34934209-1536-4d75-9d6f-661202f014de", "rel": "self"}, {"href": "http://localhost/volume/targets/34934209-1536-4d75-9d6f-661202f014de", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "b118b0d7-f83b-4b81-af88-89c0c6e4141a", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/b118b0d7-f83b-4b81-af88-89c0c6e4141a", "rel": "self"}, {"href": "http://localhost/volume/targets/b118b0d7-f83b-4b81-af88-89c0c6e4141a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_193_volume_volume_target_id_patch_admin [0.189586s] ... 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-29c4bdf7-5f68-4233-b391-e17891204dc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestListVolumeTargets.test_sort_key_invalid [0.055623s] ... 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-ed558c60-fbd4-4dea-bacf-1b8fd5d41f64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-d9ff34f6-94ea-47d0-a97d-fa4aa7ec17ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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-b15a9332-0a79-4289-ace3-80b86fc03c2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.test_audit.TestAuditMiddleware.test_disable_audit_request [0.047689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.044881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.030586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.037867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.467435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_194_volume_volume_target_id_patch_member [0.232214s] ... 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-8e998865-fb1d-44b2-91a1-8a42adcce3fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_healthcheck.TestHealthcheckMiddleware.test_enable [0.041733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.026377s] ... 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-88f8f4cf-b9e5-4173-9eab-5a57d41df38b DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.042222s] ... 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-8fc25ee9-5045-4a6b-b99f-a5a8c61731d3 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.041932s] ... 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-9292aa6c-aff4-45b2-846b-08b570d41998 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"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.196732s] ... 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-7e43bc18-ff07-4d0c-8e99-305bcd71df62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.675575s] ... 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-c10290c0-ac31-4d71-a9e7-4a89142bb2ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.245105s] ... 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-c727b751-7976-4558-9d51-04e91a43cf40 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_196_volume_volume_target_id_delete_admin [0.190830s] ... 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-3af35374-5f02-4ae7-a3dc-89a495328daf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.043335s] ... 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-f16c71f1-2bed-4be2-8ad4-9d205ee0e0d4 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.131381s] ... 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-8ee2ed89-dc20-4e99-89c1-2228e996211c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.033896s] ... 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-c6f5d1e8-d64b-4584-a8dd-aa16d162958a DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"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.103364s] ... 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-d9ee5a16-be58-4888-8f5f-4011d78d332a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.033255s] ... 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-b58c1df3-f8bb-469b-b03f-a7eb5097fdb7 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_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.027728s] ... 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-fcf9023f-9432-4067-a439-2240aa43494f DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.027441s] ... 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-68a42bea-b2f3-49a2-9df9-54e53f5c2ef6 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_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.033926s] ... 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-50fc8efd-3d74-4252-ab8b-6bf4501a1001 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.135639s] ... 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-25a948a7-d744-436a-80f0-ccee9b9d859f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.051105s] ... 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-ba789209-0b5f-44b6-ab39-37c92d7b3eec 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_198_volume_volume_target_id_delete_observer [0.155076s] ... 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-ad51d188-795d-4d43-b93c-6262929372a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.037467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.027667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.118752s] ... 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-9364bb1d-8dc5-4706-a6ba-0e87217f6363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_hooks.TestPublicUrlHook.test_before_public_endpoint [0.034108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.049065s] ... 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-5860b369-eeaa-4ff4-9dfd-27655af644c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_206_nodes_volume_targets_get_member [0.087709s] ... 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-ee1bb28e-bcd2-4542-9e76-e41b9f5d488f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.035359s] ... 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_199_nodes_volume_get_admin [0.184367s] ... 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-c4897fd1-b921-4b6b-ac75-e4849e245324 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.027293s] ... 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-35b0db83-2b8a-4373-b7c5-e5a4fe53e15d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.032386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.094394s] ... 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-2ff87db5-41ca-45e6-a417-263c3759c4d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_get_temp_url [0.923816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_200_nodes_volume_get_member [0.107076s] ... 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-390c2a54-9211-4f11-b0fd-8d3dcd9f5a87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.079944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_208_drivers_get_admin [0.070894s] ... 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-174ebe0a-6e17-4a2b-90a0-d265a9872dbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.057604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.052428s] ... 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-7285b06c-d5cc-4de5-8149-b400e136282f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_201_nodes_volume_get_observer [0.115425s] ... 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-d0a04ebc-98dd-407c-b4ff-50bef6e6e57c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.073574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_209_drivers_get_member [0.079627s] ... 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-1bd4f806-2691-4179-88c3-abd20fd6f681 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_root.TestV1Root.test_get_v1_23_root [0.060841s] ... 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-22970f75-e182-48f3-9043-012e413b15ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.040218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_210_drivers_get_observer [0.064520s] ... 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-07127ad2-da82-42cd-aa49-aa3dfe01cbd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.031217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_202_nodes_volume_connectors_get_admin [0.081384s] ... 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-534620e2-2ce5-471d-a934-2ffa113aa1f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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_root.TestV1Root.test_get_v1_32_root [0.092933s] ... 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-c05c4b7c-e24b-46be-b06a-cc25a2f2bf63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_211_drivers_driver_name_get_admin [0.061968s] ... 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-7e74fa04-006d-48ca-b3e7-1525314457ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.090459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.057577s] ... 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-f39c69ef-e181-42b4-b2af-6679c5a32819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_203_nodes_volume_connectors_get_member [0.107847s] ... 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-a002fdf7-7a42-49f5-b8f0-ec96609f6a28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_212_drivers_driver_name_get_member [0.067460s] ... 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-2d2be10a-5750-42a3-8120-ec4a543e5a62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.040899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.034641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_213_drivers_driver_name_get_observer [0.081200s] ... 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-098c4e5a-ba66-43f6-b171-441e5dcff614 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.094322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_204_nodes_volume_connectors_get_observer [0.108901s] ... 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-88bebd93-f582-4517-a765-59a0a0513ef9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.052322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.104453s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_214_drivers_properties_get_admin [0.073243s] ... 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-45d5d95d-9841-4007-8ba4-bfcf4badeef4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.033565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.077503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_215_drivers_properties_get_member [0.065469s] ... 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-58d631cb-e8f7-4a79-b93a-ea373f03f9bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_205_nodes_volume_targets_get_admin [0.136554s] ... 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-33d39db0-aa7d-4699-a527-d63c040f63a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.089992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_216_drivers_properties_get_observer [0.077890s] ... 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-5c87eca2-7209-4394-90fc-a6d15a0fa2c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.094092s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient [0.047527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.037425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_206_nodes_volume_targets_get_member [0.113124s] ... 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-f56cc216-f4a9-44bd-a810-180386ec3886 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.TempFilesTestCase.test_is_memory_insufficient_good [0.029611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_217_drivers_raid_logical_disk_properties_get_admin [0.076851s] ... 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-ab43f6d0-f443-4ca3-bc6e-72ffc3b67a39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_recovers [0.028458s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.043949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_warning_only [0.026240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.023858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.041288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_207_nodes_volume_targets_get_observer [0.108771s] ... 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-4f79aa4f-f19b-476b-aa4c-ccc28c75efb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.024832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.089575s] ... 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-ad5fd33c-910d-445c-8439-b5a5e7baa2f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.034111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.085231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_208_drivers_get_admin [0.095372s] ... 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-01c0d365-1083-47af-8f7b-378d540fd4f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.091219s] ... 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-7d46980f-0596-47b9-b94f-d922e9a4da7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocations.DoAllocateTestCase.test_name_match_first [0.066053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.052236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.038925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.072064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.077263s] ... 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-2c699323-8a57-48da-b074-fa133bdc4e9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.027383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.025908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.075082s] ... 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-6047318b-fd59-401a-8073-988ed7500384 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.068480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.125443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.025638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_observer [0.077273s] ... 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-08d09713-3b08-47e1-8e5e-5675e4a7b992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.030739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.027008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.029246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.107873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.023961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.085868s] ... 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-351d8573-46b1-4180-aecf-441dba443c37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.039998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.061412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.029439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.075199s] ... 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-c92c6ac5-54bd-410d-a62d-01c9584fcdb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.031717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.062887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.074293s] ... 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-1c0b400e-ffd2-473d-9f04-cf7fb4b1a798 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_allocations.DoAllocateTestCase.test_success [0.048960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.062875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_209_drivers_get_member [0.501510s] ... 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-44ba54d2-aca0-4ab9-94d4-37a122cf1419 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.041448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.058505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_226_drivers_vendor_passthru_post_admin [0.086333s] ... 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-ec2c0d3d-bdeb-487a-ac05-a500dd6d939a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.035720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.022652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.058093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.072549s] ... 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-396bf2e2-4895-415b-a0ba-a8eeacc683df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.045264s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.036170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.085548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_210_drivers_get_observer [0.181227s] ... 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-8d3a3b11-9cde-41f5-9b79-a2142bef550f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.071500s] ... 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-23817486-369b-4b93-850a-40b8784ef483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.057659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.038832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.039919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_229_drivers_vendor_passthru_put_admin [0.095356s] ... 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-1ab91852-98df-4184-8d90-351361a7470a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_211_drivers_driver_name_get_admin [0.157618s] ... 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-c06c2f9e-846f-4c36-89ac-bc6e7535f802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.053537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.081475s] ... 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-47e22ec5-ff6c-429e-af32-1c1af0407e4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_212_drivers_driver_name_get_member [0.080754s] ... 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-b58de85f-0cb7-4077-897d-b562b4137e32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.069748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.112388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.334460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.061445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.085197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.024271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_cannot_use_reserved [0.024634s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_no_reserved [0.033641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.251837s] ... 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-d2452c6b-a18b-4696-958b-96a433252512 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_213_drivers_driver_name_get_observer [0.272488s] ... 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-0225c8de-d1cf-4a3e-96db-f2e688ec4d53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.100289s] ... ok DEBUG util.py:445: {2} 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_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.039516s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_reserved [0.022854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.094841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.054926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.025360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.033254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_cleanhold_abort_tear_down_fail [0.065391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_214_drivers_properties_get_admin [0.172013s] ... 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-45549234-7770-49db-b113-5193721b0519 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.test_acl.TestRBACScoped.test_rbac_legacy_234_nodes_bios_get_admin [0.089298s] ... 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-8556690f-6a3c-4c3b-ab80-c598171051fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.033905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.038724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_early [0.064999s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_235_nodes_bios_get_member [0.081527s] ... 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-9461d49d-08e6-4442-9afe-8a1b9a4a121f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.060245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.084496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_215_drivers_properties_get_member [0.154420s] ... 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-4bf37c19-c6bb-4439-a6e2-8acb7f2f185b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.038355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_236_nodes_bios_get_observer [0.078124s] ... 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-96326d5c-777f-477a-9f8f-396f3008b25c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.BootDeviceTestCase.test_get_boot_device [0.056725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.030673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.072429s] ... 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-d8ba621c-15a1-45ff-adb3-cc4162a2a64b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.BootDeviceTestCase.test_get_boot_device_node_locked [0.092883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.040619s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.030104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.027588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_216_drivers_properties_get_observer [0.160561s] ... 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-0a885eb0-85b6-46d5-8d05-7a9fdbc57526 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_fsm.FSMTest.test__validate_target_state [0.021722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.094855s] ... 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-82082f5e-b385-4fe3-a65b-8d6efef56f5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_fsm.FSMTest.test_initialize [0.020815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.019440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.105565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.030164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.085927s] ... 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-e281486e-1163-4ae4-b820-27e5b7352382 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.common.test_fsm.FSMTest.test_is_stable_not [0.036384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.019857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.023604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.126234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_240_conductors_get_admin [0.071281s] ... 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-17121c1d-d100-4b1c-9a4e-c6c4118f8a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_217_drivers_raid_logical_disk_properties_get_admin [0.215083s] ... 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-12961c7d-208b-494a-a69f-2a9093a60aa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.069977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.066186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_241_conductors_get_member [0.089395s] ... 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-72918b38-8caa-440b-9265-74fd7c1d42f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.052339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.084769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.063365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_member [0.146234s] ... 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-30ab57d2-ce95-47cb-b0e6-26fd5c042bd3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_242_conductors_get_observer [0.098079s] ... 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-12913f7d-7ae0-4dd7-8b25-eab976f333d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.066484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.082959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_cleaning [0.136131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_observer [0.132541s] ... 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-b47767b6-555d-4d96-ab8a-6fe059a3b9d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.116631s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_deploy [0.103425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_220_drivers_vendor_passthru_methods_get_admin [0.118546s] ... 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-108587bf-9c07-42ac-8ea4-fd8a9ef06169 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.087193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_243_conductors_hostname_get_admin [0.313571s] ... 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-ec5ec057-490c-4ad6-8b29-cc028739d97b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_manager.ConsoleTestCase.test_disable_console_already_disabled [0.096165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_member [0.098688s] ... 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-c6ff0981-190d-4d6d-a785-09bb6b66e1fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_244_conductors_hostname_get_member [0.076593s] ... 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-eb1851c2-8c53-4207-b166-7bf84ecf303f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_222_drivers_vendor_passthru_methods_get_observer [0.088853s] ... 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-5ecfec74-fd73-4174-ac73-ae65d58cafcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ConsoleTestCase.test_enable_console_already_enabled [0.106749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_245_conductors_hostname_get_observer [0.067891s] ... 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-cd753b57-13c4-4dcb-b1b2-d42f0c7bff8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_manager.ConsoleTestCase.test_get_console [0.042938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.037341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.040141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_223_drivers_vendor_passthru_get_admin [0.131160s] ... 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-85a8fc7e-355c-4e9f-b2a3-b44f1837c287 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.test_acl.TestRBACScoped.test_rbac_legacy_246_allocations_post_admin [0.111396s] ... 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-1b3f72df-6988-4c65-a5ff-51364cd5208c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_224_drivers_vendor_passthru_get_member [0.101851s] ... 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-050519fc-639c-4082-b4df-e3e553136749 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ConsoleTestCase.test_set_console_mode_disabled [0.137565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.425003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_248_allocations_post_observer [0.084582s] ... 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-cfe35330-ec2c-4236-9b24-2db8ec90201f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_225_drivers_vendor_passthru_get_observer [0.130611s] ... 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-67d845a0-1ea9-4aa0-af67-baa2942f5b2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.081277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.117973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_249_allocations_get_admin [0.076685s] ... 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-dad229f5-aaca-4e4b-a2f8-9cf86d3436c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_250_allocations_get_member [0.074136s] ... 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-2b6245e9-774d-42ac-adfe-89235ba47812 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_226_drivers_vendor_passthru_post_admin [0.120883s] ... 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-c44d4e64-ab56-4083-b2b1-2063d81b54ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.114059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.124345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_251_allocations_get_observer [0.077426s] ... 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-6e5956ce-3795-41d8-ac2e-b0aaa7458a4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.102621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_227_drivers_vendor_passthru_post_member [0.098329s] ... 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-ed54dbdc-75a9-418d-8c90-35951b4e1b4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ConsoleTestCase.test_set_console_mode_stop_fail [0.118743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.093770s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/7f2f5fbe-371c-47f1-9fda-b7f65d9fdae7 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fe3bf71-40e8-4fd6-8c25-b82152133bc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 7f2f5fbe-371c-47f1-9fda-b7f65d9fdae7 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.069331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_228_drivers_vendor_passthru_post_observer [0.088258s] ... 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-2a404d43-e1b9-442f-966e-f393ff28dc53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.052940s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.095466s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_253_allocations_allocation_id_get_member [0.087116s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/67302194-8a06-4b84-9ac6-f28bef634e65 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-254d64e0-f9a4-48cf-8b07-31527b70fdcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 67302194-8a06-4b84-9ac6-f28bef634e65 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.102684s] ... 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-4ba8bdea-c05f-4aac-8c8a-7d7af37c423d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.101292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.089264s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/282e54d9-d761-42d8-b5f5-d26463af4d0c WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c1e446e-987c-424d-b2c0-a0744a1baaa0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 282e54d9-d761-42d8-b5f5-d26463af4d0c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.094425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_230_drivers_vendor_passthru_put_member [0.084999s] ... 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-54dc66a3-fc0e-4467-b16a-fea397d53a5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.092181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_231_drivers_vendor_passthru_put_observer [0.127176s] ... 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-b017cd78-5626-471b-94e6-08aca0958124 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.164642s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/dd338f97-42cb-4e96-9207-c9f1e727786f 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-20e6b90b-4efd-4e2a-bde2-7940edc70761 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 dd338f97-42cb-4e96-9207-c9f1e727786f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.215378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.161268s] ... ok 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.111073s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/f0e9b351-9c67-4f69-b96e-3d1831faa8cb 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-bc148567-51b5-45fc-860c-a787944208b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 f0e9b351-9c67-4f69-b96e-3d1831faa8cb could not be found.\", \"debuginfo\": null}"} 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.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.082895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.086534s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/14799195-deb6-49c6-94b8-cbacf6d78e0d 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-10708882-9954-4e55-9298-f500985571f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 14799195-deb6-49c6-94b8-cbacf6d78e0d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_234_nodes_bios_get_admin [0.077902s] ... 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-f15b5d3d-89d3-4e30-905a-d137a165f7ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:35.071003+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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.077347s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/7fa72679-b697-4ad8-9dfc-932e8f0056bd GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-78283ef0-6f6a-4a03-a7f5-2c541ae2c483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 7fa72679-b697-4ad8-9dfc-932e8f0056bd could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.239099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.155297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_235_nodes_bios_get_member [0.100948s] ... 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-db058a92-0d07-414a-9278-d0221def442c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_259_allocations_allocation_id_delete_member [0.095336s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/21477962-35f4-4ef2-bc2b-97f63d86b51d GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-545c50c9-529d-4191-8a85-c1cb6f5ba9fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 21477962-35f4-4ef2-bc2b-97f63d86b51d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.074146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_236_nodes_bios_get_observer [0.087701s] ... 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-356eac34-eaf2-4622-a3bb-845b36b64ef9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:35.262882+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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_260_allocations_allocation_id_delete_observer [0.071067s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/b56c2806-c44f-41f4-9b31-511e0921464f GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90477777-0928-46fe-89c4-4d5da62dee13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 b56c2806-c44f-41f4-9b31-511e0921464f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.218720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_237_nodes_bios_bios_setting_get_admin [0.084618s] ... 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-ed1297f5-c984-4b61-95b4-95059cde7752 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:35.349233+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.api.test_acl.TestRBACScoped.test_rbac_legacy_261_nodes_allocation_get_admin [0.081711s] ... 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-9623630a-b451-4a29-be06-6737f0a8f921 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.126918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_238_nodes_bios_bios_setting_get_member [0.069109s] ... 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-cd74979a-8046-4d62-b083-520d0f2a4c93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_262_nodes_allocation_get_member [0.114688s] ... 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-94050885-970e-448d-9e16-205edfffbef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_manager.DestroyNodeTestCase.test_destroy_node_associated [0.143199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.094538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_239_nodes_bios_bios_setting_get_observer [0.083490s] ... 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-1af1b6c4-2b5e-4abf-82c8-5e47919a1338 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:35.501108+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: {3} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.060941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.096240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_263_nodes_allocation_get_observer [0.146263s] ... 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-bee5aec0-6de0-4dda-a2bc-dd0a0e18efc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.081786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_240_conductors_get_admin [0.118071s] ... 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-708aca54-1360-4867-87a9-aadba63152b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.051732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.114682s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_241_conductors_get_member [0.091550s] ... 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-894f74c9-96cb-47b8-96ea-63932263e30e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.073966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.109845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.051855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_264_nodes_allocation_delete_admin [0.204876s] ... 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-51eb94c3-2970-4576-aa80-9af424c4971d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_242_conductors_get_observer [0.110776s] ... 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-f74e6172-eecf-4708-b18b-b400a4856a1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.072500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.098334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_265_nodes_allocation_delete_member [0.092414s] ... 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-04614023-646d-4c47-8897-deb1b77cc446 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_243_conductors_hostname_get_admin [0.096887s] ... 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-2a21100b-3dcf-4d9d-b2a9-3e7ce0ecb55c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:35.918217+00:00", "updated_at": "2024-03-18T18:16:35.919367+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.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.055438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.028184s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.021899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_266_nodes_allocation_delete_observer [0.066585s] ... 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-23568477-a18f-466d-9c87-f335f63b088a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.097611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.028135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.023870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_267_deploy_templates_post_admin [0.070111s] ... 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-d2186a89-5e6b-4c74-9e6c-bfd7dabaf00c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.027609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.025130s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.102839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.033677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_244_conductors_hostname_get_member [0.195202s] ... 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-01c20b50-010c-4415-85b6-732cef58e119 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_268_deploy_templates_post_member [0.075523s] ... 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-978a4a3d-c138-49df-84a8-7b3654b52fe6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.043163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.030563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.111208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_269_deploy_templates_post_observer [0.089334s] ... 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-d17bf9d1-6759-4283-a840-95d0c26e260b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.029689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.046233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_270_deploy_templates_get_admin [0.066656s] ... 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-82a1e478-a70d-4ab8-95d2-d48507fce961 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.027098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.025493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.024304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_271_deploy_templates_get_member [0.067641s] ... 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-be842afd-ae0d-404c-8195-dc93e87b5555 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.027520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.023359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_245_conductors_hostname_get_observer [0.283256s] ... 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-900f3e81-1f77-4216-a7a5-9a6571e89eda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:36.349329+00:00", "updated_at": "2024-03-18T18:16:36.350122+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.api.test_acl.TestRBACScoped.test_rbac_legacy_272_deploy_templates_get_observer [0.069723s] ... 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-63275ff2-dd1e-43c9-8eb0-6df3c851a343 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_rbac_legacy_273_deploy_templates_deploy_template_id_get_admin [0.072994s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/6ac42534-d2c2-435f-9e6b-faf7ec6353ab WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a884fab-b439-4388-8d35-6b248987268a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.093945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.329209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_member [0.062734s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/6f946a6d-28c3-459f-8e0c-a7d4b29bb513 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53a22c4e-9ba8-4ca5-b429-9998ec29537e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.DestroyNodeTestCase.test_destroy_node_with_allocation [0.064206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.090883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.066085s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/54b77764-d2d1-48d7-86e9-883c4a2061f4 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39653247-75f8-43a2-8a6a-3590ec008dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_246_allocations_post_admin [0.237722s] ... 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-8e7926ab-5195-46bf-89cb-8b833930d3df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.093741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_get_destroyed_after_destroying_a_node_by_uuid [0.104935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.083760s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/1950ff58-e577-4a8a-b55e-5d41060e324e 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-61aab07b-847b-43cc-bac0-70ee5fcd44e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.065060s] ... ok 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_member [0.068998s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/dddba23d-9385-48ba-bde9-9eae6b3350ca 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-12d399cd-10bd-4cd6-9916-88bd7748f415 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_maintenance [0.102590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.072528s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_observer [0.070313s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/f10a1b66-d674-4dc0-96fb-5034287506e7 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-c09085d5-e496-4291-86fd-59029ef51c43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.064541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_248_allocations_post_observer [0.145312s] ... 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-496eb693-a82c-4c9c-b700-40aaa3f2a7e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_not_maintenance [0.095797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_279_deploy_templates_deploy_template_id_delete_admin [0.061629s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/39a0362e-521b-4763-bb9f-ddd4de3932c1 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-291c9a31-1f14-46b6-874d-bae079311d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.058751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.059100s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/0423c6e2-d3f3-48b3-9ca7-58bda6ebdd33 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4de71156-345c-4089-9a39-b5e47beb2854 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.044034s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.118576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.064820s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/530e8b21-16d8-49da-9ad2-baeb273c4061 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0fae2d9-5318-4435-ba6f-30b6a7d9099b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.097736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_282_chassis_post_admin [0.069947s] ... 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-12901751-8740-46ee-9ed0-5fcd3aa4b890 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.127884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.067382s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_283_chassis_post_member [0.067190s] ... 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-bf219c05-e523-43d0-86d3-a9a540f92f08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_249_allocations_get_admin [0.318179s] ... 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-f43cd6d7-fa56-4209-85ef-029faedca8a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "19e6501d-b55c-4032-95c9-6c7a1c6d352d", "created_at": "2024-03-18T18:16:37.041133+00:00", "updated_at": "2024-03-18T18:16:37.046878+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/19e6501d-b55c-4032-95c9-6c7a1c6d352d", "rel": "self"}, {"href": "http://localhost/allocations/19e6501d-b55c-4032-95c9-6c7a1c6d352d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.064518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_284_chassis_post_observer [0.076962s] ... 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-be22ead7-f10a-4101-a86f-879fefcdc9e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.041250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.111107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_285_chassis_get_admin [0.069910s] ... 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-4c27d208-033f-4116-bbe8-866fe390953d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.062131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.069999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.059457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_250_allocations_get_member [0.185503s] ... 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-14c1b75a-bd1e-4d4e-8632-b7f02751608d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.059563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.122822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.121481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.071406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.113039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.059321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.068655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.100435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_286_chassis_get_member [0.433115s] ... 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-590ed8a1-3271-452d-9df6-53fc55a9c994 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.112517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_287_chassis_get_observer [0.149303s] ... 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-1e1e327e-9a92-44ff-ac61-41b7efeaaa36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.106244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.260773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_251_allocations_get_observer [0.601005s] ... 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-297fa76c-9754-49b9-b076-94e56edc8df5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d4c1762d-62a9-45a1-93dc-65bead00b379", "created_at": "2024-03-18T18:16:37.920590+00:00", "updated_at": "2024-03-18T18:16:37.949354+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/d4c1762d-62a9-45a1-93dc-65bead00b379", "rel": "self"}, {"href": "http://localhost/allocations/d4c1762d-62a9-45a1-93dc-65bead00b379", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_288_chassis_detail_get_admin [0.121051s] ... 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-b3371497-7933-4614-99e6-a412e35b9c33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.063659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.134651s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_252_allocations_allocation_id_get_admin [0.096985s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/25f7d63b-475f-4327-b1dc-4cefcc2b97eb WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07f35698-2e16-49b0-b316-e9e265bc1824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "25f7d63b-475f-4327-b1dc-4cefcc2b97eb", "created_at": "2024-03-18T18:16:38.073497+00:00", "updated_at": "2024-03-18T18:16:38.077931+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/25f7d63b-475f-4327-b1dc-4cefcc2b97eb", "rel": "self"}, {"href": "http://localhost/allocations/25f7d63b-475f-4327-b1dc-4cefcc2b97eb", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_289_chassis_detail_get_member [0.078814s] ... 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-1de7d8d2-543f-4d10-9dd6-00e0818819d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.108322s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_290_chassis_detail_get_observer [0.063303s] ... 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-e04e92d0-7a3e-4099-b8e1-152cb4240afd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_253_allocations_allocation_id_get_member [0.087863s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/572dd11f-0d02-417c-a564-43151d81ae40 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1c062bd-c08f-4fe1-9953-bce036d6afc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 572dd11f-0d02-417c-a564-43151d81ae40 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.062437s] ... 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-4e96fae0-44bd-4a2f-b09c-b17b4e2570fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.082550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.187499s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_254_allocations_allocation_id_get_observer [0.082127s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/cdf2bbc3-74fb-49b8-986a-215da4c1827b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b1eb6dc-6089-4c86-bd1c-f6888c776af8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "cdf2bbc3-74fb-49b8-986a-215da4c1827b", "created_at": "2024-03-18T18:16:38.248227+00:00", "updated_at": "2024-03-18T18:16:38.252495+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/cdf2bbc3-74fb-49b8-986a-215da4c1827b", "rel": "self"}, {"href": "http://localhost/allocations/cdf2bbc3-74fb-49b8-986a-215da4c1827b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_292_chassis_chassis_id_get_member [0.068445s] ... 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-b69c39ac-524a-4243-bbba-1aa81eb8b263 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.117258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_255_allocations_allocation_id_patch_admin [0.106524s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/10821ed6-b524-4bb3-b558-55715cf47ba2 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-36ea9bb5-9f41-494a-b4a1-b3da4ea30d49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "10821ed6-b524-4bb3-b558-55715cf47ba2", "created_at": "2024-03-18T18:16:38.332061+00:00", "updated_at": "2024-03-18T18:16:38.398377+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/10821ed6-b524-4bb3-b558-55715cf47ba2", "rel": "self"}, {"href": "http://localhost/allocations/10821ed6-b524-4bb3-b558-55715cf47ba2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_293_chassis_chassis_id_get_observer [0.086734s] ... 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-68ffffa0-96a9-4e47-bb43-a0932a60fffa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.085134s] ... 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-6dadbd73-4f11-4fca-994f-4f7932848554 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.129318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_256_allocations_allocation_id_patch_member [0.102693s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/f8c07623-1bdc-4a4a-8329-28701a286c57 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-56ade862-04dd-4d9f-ba17-49752eaa6662 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 f8c07623-1bdc-4a4a-8329-28701a286c57 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.221051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.092404s] ... 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-a79acecb-1545-4eab-875a-1324ae6a675e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_257_allocations_allocation_id_patch_observer [0.110993s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/34d29ee8-7069-420a-84ad-8f22c4a6b788 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-93fe2bb4-8701-4902-a123-a77f52530421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.133408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.097373s] ... 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-c2f2365b-de18-4044-9f14-8ea3c796550f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.198328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.123208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.093664s] ... 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-82b593d8-c158-43dd-bb9d-69374bbbcc77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.046121s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_258_allocations_allocation_id_delete_admin [0.195865s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/b36b60a0-424e-4f32-b84e-432c7725152c GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ce4031a-c686-451a-9722-dd993cd2dcbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.092204s] ... 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-1a58c52f-3b75-4dbf-a264-1a58763f31b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.084150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.200008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.074833s] ... 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-0dbabffd-0785-44e3-92fa-19e781e19016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_259_allocations_allocation_id_delete_member [0.161656s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/8c153ad9-adf8-48b8-a404-31d3d04e2514 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2dc6203-7c32-440e-9521-d5fa72a496d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 8c153ad9-adf8-48b8-a404-31d3d04e2514 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.091260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_300_node_history_get_admin [0.085831s] ... 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-7362dfaa-74b8-4841-8add-e75dac49dc0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.140033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.075799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_301_node_history_get_member [0.091658s] ... 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-c1bcc702-5962-4fd1-8898-cb1772d2c8f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_260_allocations_allocation_id_delete_observer [0.152353s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/897b4cb2-2f04-4f21-be81-27932f7df88c GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3760d9e2-111c-4d07-a6d6-5e46386ec9c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.DoNodeRescueTestCase.test_do_node_unrescue [0.120789s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.145153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_261_nodes_allocation_get_admin [0.094531s] ... 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-11bc7071-451d-4c6f-b3e9-d8715ae33d04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2be3a178-e69f-47fb-bdae-ae4be2f07d94", "created_at": "2024-03-18T18:16:39.177208+00:00", "updated_at": "2024-03-18T18:16:39.188065+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/2be3a178-e69f-47fb-bdae-ae4be2f07d94", "rel": "self"}, {"href": "http://localhost/allocations/2be3a178-e69f-47fb-bdae-ae4be2f07d94", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.099979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_262_nodes_allocation_get_member [0.078350s] ... 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-8e29e30e-e10f-4679-9b3d-207eb3830b00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.116240s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_302_node_history_get_observer [0.181315s] ... 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-30f50fe1-3ea8-444b-8ca1-d35988ba4a45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_maintenance [0.053802s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.043266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_263_nodes_allocation_get_observer [0.088987s] ... 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-b30368ea-a520-412c-a24d-a31421f94c34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0d41157c-da68-4306-9a9a-4d6b9cfa5508", "created_at": "2024-03-18T18:16:39.349085+00:00", "updated_at": "2024-03-18T18:16:39.353693+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/0d41157c-da68-4306-9a9a-4d6b9cfa5508", "rel": "self"}, {"href": "http://localhost/allocations/0d41157c-da68-4306-9a9a-4d6b9cfa5508", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.161676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.112989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_264_nodes_allocation_delete_admin [0.107821s] ... 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-7a5c6b6e-e620-426b-9d66-8f8f88c12f2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_rbac_legacy_303_node_history_get_entry_admin [0.242921s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f9492a12-4ff1-4ebc-90b0-bf705838b6ff WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc58520f-ccde-4936-bca7-fd55aebe6329 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.134618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.135057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_265_nodes_allocation_delete_member [0.147498s] ... 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-b340d842-3d23-4ee2-8eab-dad477b2e8aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.TestRBACScoped.test_rbac_legacy_304_node_history_get_entry_member [0.094097s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/76ca67f7-a29b-44e9-9c4d-9a29a10dc015 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d96e3fca-ef30-4f2e-923b-0f4b9ff1481d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_305_node_history_get_entry_observer [0.066480s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bc1b49b7-a175-48eb-b479-6bbcfcc300bc WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a3b96f2-a4bf-423d-8801-5d2ab78a2d74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_266_nodes_allocation_delete_observer [0.097736s] ... 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-dcb54e0f-8c08-48f6-bc46-9507de2a1691 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.190992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.252816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_002_nodes_post_admin [0.092445s] ... 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-238bf31d-df2e-4ba7-9ed6-c224606a0657 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_267_deploy_templates_post_admin [0.128630s] ... 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/04829ccd-bcaf-47b6-802a-b3259e680d3b DEBUG util.py:445: Openstack-Request-Id: req-64c3f7eb-1f38-4f31-a46b-9c9658c61523 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "04829ccd-bcaf-47b6-802a-b3259e680d3b", "created_at": "2024-03-18T18:16:39.886538+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/04829ccd-bcaf-47b6-802a-b3259e680d3b", "rel": "self"}, {"href": "http://localhost/deploy_templates/04829ccd-bcaf-47b6-802a-b3259e680d3b", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_268_deploy_templates_post_member [0.095131s] ... 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-8ed8e3b5-2119-4442-865a-fc0f409051d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_003_nodes_post_member [0.127335s] ... 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-378c400a-cc67-4786-bb7e-61818c7b743c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.156959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.263365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_269_deploy_templates_post_observer [0.129085s] ... 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-d96adc37-5bf3-46b0-a1ba-0ba8c0797712 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_004_nodes_post_observer [0.116725s] ... 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-1e453b8f-1017-4800-ac99-0dce706dc93b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_005_nodes_get_node_admin [0.080884s] ... 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-27aeb284-b776-4ef1-9edb-2e84191b7e1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.179594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_270_deploy_templates_get_admin [0.101651s] ... 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-2fa49a1d-16d8-4c49-a930-fbcfcb4eff7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0f5d124d-c893-40f2-a4a5-1b059fcb0e10", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/0f5d124d-c893-40f2-a4a5-1b059fcb0e10", "rel": "self"}, {"href": "http://localhost/deploy_templates/0f5d124d-c893-40f2-a4a5-1b059fcb0e10", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_271_deploy_templates_get_member [0.068899s] ... 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-ff6ca4fe-85e5-4080-acf6-761abebc60da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_006_nodes_get_node_member [0.152306s] ... 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-b2cac036-6e07-4cb4-b002-dada89f608a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_272_deploy_templates_get_observer [0.068652s] ... 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-da8312b8-1a55-4600-b00f-60dab69f35e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "6ae99b49-a3f8-419d-b472-4ef900a8306f", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/6ae99b49-a3f8-419d-b472-4ef900a8306f", "rel": "self"}, {"href": "http://localhost/deploy_templates/6ae99b49-a3f8-419d-b472-4ef900a8306f", "rel": "bookmark"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.191222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_007_nodes_get_node_observer [0.072238s] ... 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-ab8f9fbe-ba06-4a0f-9033-3649d72b8a8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_273_deploy_templates_deploy_template_id_get_admin [0.078409s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/1fab6f8a-d266-4cb6-9281-9759ab928821 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2d791b6-c0df-41a6-8f62-42250282c903 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1fab6f8a-d266-4cb6-9281-9759ab928821", "created_at": "2024-03-18T18:16:40.399599+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1fab6f8a-d266-4cb6-9281-9759ab928821", "rel": "self"}, {"href": "http://localhost/deploy_templates/1fab6f8a-d266-4cb6-9281-9759ab928821", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_008_nodes_get_node_other_admin [0.083090s] ... 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-321adf6b-863c-431d-b30c-718b339a96fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_274_deploy_templates_deploy_template_id_get_member [0.087994s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/60bc2de4-8e28-4b0b-95d6-e7ff8a450bcb WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96f32951-c032-4671-a789-ca4b3212cec4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.157314s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_009_nodes_get_admin [0.088577s] ... 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-ca70e2c0-1b4e-46fb-96c6-29f23590533a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.518986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_observer [0.106503s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/5e002bfb-6e11-4cb3-910a-a4b0a94ccac5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1934e5a8-b6b4-42a7-acbd-a4de786d9e21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5e002bfb-6e11-4cb3-910a-a4b0a94ccac5", "created_at": "2024-03-18T18:16:40.567467+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5e002bfb-6e11-4cb3-910a-a4b0a94ccac5", "rel": "self"}, {"href": "http://localhost/deploy_templates/5e002bfb-6e11-4cb3-910a-a4b0a94ccac5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.141495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_010_nodes_get_other_admin [0.111443s] ... 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-b573df81-8caf-4dbe-92ea-910d2a9cd446 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.141925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_011_nodes_detail_get_admin [0.062906s] ... 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-13ce256e-5ef0-47d5-9681-605d19d669bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.094359s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_012_nodes_detail_get_member [0.063236s] ... 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-42e30027-45bb-48dd-b8e9-329f01015e21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.061866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_276_deploy_templates_deploy_template_id_patch_admin [0.233139s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/31329c59-d0c3-46ed-b926-fe3b80be2548 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-a282d26b-cc60-4c7e-b090-d236426b8de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "31329c59-d0c3-46ed-b926-fe3b80be2548", "created_at": "2024-03-18T18:16:40.712505+00:00", "updated_at": "2024-03-18T18:16:40.858428+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/31329c59-d0c3-46ed-b926-fe3b80be2548", "rel": "self"}, {"href": "http://localhost/deploy_templates/31329c59-d0c3-46ed-b926-fe3b80be2548", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_013_nodes_detail_get_observer [0.077565s] ... 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-fafaa3f9-26f7-46ea-a64a-d64d79a902c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.103335s] ... 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.096327s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/5f67cb59-8736-4ded-b6e4-86bf4697ba43 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-99203e56-0f4c-4a97-9af2-d48b7d59d62e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_014_nodes_node_ident_get_admin [0.076086s] ... 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-ee5bfafc-0237-4c11-932e-f5d7198465de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.070265s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_015_nodes_node_ident_get_member [0.073709s] ... 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-9cd25dd0-8b4f-4bb9-a16b-9f6e3e492688 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_278_deploy_templates_deploy_template_id_patch_observer [0.110195s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/fb66f8dd-12b9-4494-9ede-e699fe0085be 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-79ebe0f3-7c58-4e8a-8d77-2f9e3ed32b0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.052395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.078111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_016_nodes_node_ident_get_observer [0.082633s] ... 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-049c222b-0826-4d96-98dd-484306149340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_279_deploy_templates_deploy_template_id_delete_admin [0.088068s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/06f71861-ff45-45bf-82f8-2fcc600d9f82 GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-8297805b-1767-446b-a8bb-75f358a4dbca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_scoped_canary_017_nodes_node_ident_patch_admin [0.108182s] ... 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-5b5cfd31-3fde-4f14-ac74-570eb226c559 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.491231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.030589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_member [0.157855s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/fdb80d98-4d29-411d-a397-2bc2d8fd936c GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-534d6f19-a114-46b1-a446-9de6471ad114 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.179626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_018_nodes_node_ident_patch_member [0.087639s] ... 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-e5fdc9d5-af3d-45f7-9ddb-30df5e4441a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.063583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_019_nodes_node_ident_patch_observer [0.072839s] ... 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-48935844-3c40-4415-b27f-d57e2576ad4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.135809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.055579s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.082047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.136965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.062615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_observer [0.299574s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/c89fed17-3a0c-4eb9-9490-dc834974286c GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b833b00f-3b6c-448e-8ba3-4fe30152cadd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.107239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_020_nodes_node_ident_delete_admin [0.252327s] ... 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-6d963a8b-083f-4caf-8775-c3b94547be1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.124691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_021_nodes_node_ident_delete_member [0.070738s] ... 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-634782ac-a9ff-4d72-aeaf-0631ef38d627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.100674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.082943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_022_nodes_node_ident_delete_observer [0.071341s] ... 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-36110820-547c-4b71-9f22-f61be0119f10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.058496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_282_chassis_post_admin [0.241887s] ... 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/f35b9b5c-5d34-4bd0-87bc-d93633eb4cda DEBUG util.py:445: Openstack-Request-Id: req-2816ddd8-4566-4ec9-ac3b-c52fb21898c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f35b9b5c-5d34-4bd0-87bc-d93633eb4cda", "created_at": "2024-03-18T18:16:41.809139+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/f35b9b5c-5d34-4bd0-87bc-d93633eb4cda", "rel": "self"}, {"href": "http://localhost/chassis/f35b9b5c-5d34-4bd0-87bc-d93633eb4cda", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/f35b9b5c-5d34-4bd0-87bc-d93633eb4cda/nodes", "rel": "self"}, {"href": "http://localhost/chassis/f35b9b5c-5d34-4bd0-87bc-d93633eb4cda/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.062634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_023_nodes_validate_get_admin [0.076118s] ... 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-f608633b-0b24-4903-9357-597276b6b7d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.104056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.081688s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_024_nodes_validate_get_member [0.071933s] ... 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-84e72ab5-2bcd-4a38-b7c7-6d42a9bd6295 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.104512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_025_nodes_validate_get_observer [0.071508s] ... 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-ad7d9585-b034-4b65-adf0-e0f8fd235461 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.102116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_283_chassis_post_member [0.211089s] ... 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-fe905049-62e6-4f6e-bb7f-d795a9776693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_026_nodes_maintenance_put_admin [0.070314s] ... 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-482857c2-1797-4e40-b3d9-7208c674ca4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncLocalStateTestCase.test_already_mapped [0.116894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.131448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_027_nodes_maintenance_put_member [0.083333s] ... 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-a20d74bf-c6ad-40c0-87e7-bc187868d315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncLocalStateTestCase.test_good [0.073761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.028892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_284_chassis_post_observer [0.197491s] ... 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-43525423-272a-4f2d-8232-e46d7d42559c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.097590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_028_nodes_maintenance_put_observer [0.076679s] ... 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-deb09953-ee6f-434c-887e-f25e15b54472 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncLocalStateTestCase.test_node_locked [0.061991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_029_nodes_maintenance_delete_admin [0.082794s] ... 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-d20b4981-9a08-41b4-b054-f280afc135ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncLocalStateTestCase.test_not_mapped [0.072034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_030_nodes_maintenance_delete_member [0.076762s] ... 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-5b8519e0-afab-4874-b598-be60747383d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncLocalStateTestCase.test_worker_limit [0.054015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_285_chassis_get_admin [0.186171s] ... 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-efaeaf74-d415-4f4c-9a07-99ee6e731ff3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_scoped_canary_031_nodes_maintenance_delete_observer [0.068011s] ... 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-6958a019-d9ff-4a32-9339-3cdecd9cd9ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.264927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_032_nodes_management_boot_device_put_admin [0.097230s] ... 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-38bfffb0-ab74-4285-a35a-0c05194662e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.168975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_033_nodes_management_boot_device_put_member [0.071731s] ... 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-6efa5d69-3532-4fcc-a666-61ef82e70d27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_286_chassis_get_member [0.220481s] ... 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-ec257078-58a0-4203-9b41-b83e332009b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.130320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.075560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_034_nodes_management_boot_device_put_observer [0.070371s] ... 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-0850f9a7-e52b-4af3-b896-7f31329b159f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.076606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.144619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_035_nodes_management_boot_device_get_admin [0.079501s] ... 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-a8cf7e6b-346a-49f4-ab84-3a788b9ee9d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.072466s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_036_nodes_management_boot_device_get_member [0.069253s] ... 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-a4944739-27d2-4415-b8de-4f256b5835ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.056805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.143182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_037_nodes_management_boot_device_get_observer [0.082462s] ... 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-377e4d8f-b6e6-441b-a3bc-1740719d6521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.102135s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.028228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.024627s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.024502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_038_nodes_management_boot_device_supported_get_admin [0.122047s] ... 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-3662b44e-38d1-4027-801d-fdcb46783363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.034673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.058530s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.258478s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.060362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_039_nodes_management_boot_device_supported_get_member [0.195166s] ... 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-b2271f4a-0706-4007-a3ea-6d70d18038f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.UpdatePortTestCase.test_update_port_address_maintenance [0.081662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_287_chassis_get_observer [0.639295s] ... 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-1f89b348-484d-42de-a603-db8bafb6a506 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_network_error_fail [0.097410s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.072112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.074469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_040_nodes_management_boot_device_supported_get_observer [0.177290s] ... 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-62f4632f-fa00-4631-9ee6-837766c6bef9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_288_chassis_detail_get_admin [0.177372s] ... 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-c1330e51-22fe-4f72-8b43-b328d7bd7b5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:43.410528+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.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.069377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.297884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_041_nodes_management_inject_nmi_put_admin [0.157533s] ... 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-8550b86a-a5ec-4e1a-918f-83f2987df77b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.UpdatePortTestCase.test_update_port_node_manageable_state [0.109331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_289_chassis_detail_get_member [0.160278s] ... 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-12fe8d67-8542-4cba-8103-a1033c56ab1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.065494s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.074130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.064733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_290_chassis_detail_get_observer [0.143819s] ... 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-af9048d3-bf35-43ed-897c-db683bac0000 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:43.734718+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.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.090835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_042_nodes_management_inject_nmi_put_member [0.211864s] ... 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-52861067-0b12-4dc9-bd97-f2329d3bafd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.141653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_291_chassis_chassis_id_get_admin [0.101066s] ... 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-5b582eba-2955-45d4-b342-04d19ed86ded DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:43.875676+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.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.095943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_043_nodes_management_inject_nmi_put_observer [0.078513s] ... 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-3512e10a-181e-4d43-bc3e-85112778741a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_044_nodes_states_get_admin [0.076018s] ... 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-295e287d-645e-4e92-ad9e-9a4b9eaaa677 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.121541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_292_chassis_chassis_id_get_member [0.140812s] ... 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-c29a173c-e4a5-4bf7-a5f8-e8907fb06d8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.105200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_045_nodes_states_get_member [0.072662s] ... 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-a73a2c04-84fa-4a95-8aa1-695d7f1d74b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_046_nodes_states_get_observer [0.079212s] ... 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-0225c098-2b14-4f15-af38-425fea47b927 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.117150s] ... 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-598f33f3-7cff-4596-bd7f-bca3eb3625e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:44.114551+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.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.143136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_047_nodes_states_power_put_admin [0.069438s] ... 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-8773f952-e5d2-489a-b788-1e561ee32d00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.227206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_294_chassis_chassis_id_patch_admin [0.111760s] ... 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-f67345d7-d6cd-4162-99d9-f60357500c3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:44.218482+00:00", "updated_at": "2024-03-18T18:16:44.274127+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.api.test_acl.TestRBACScoped.test_scoped_canary_048_nodes_states_power_put_member [0.071600s] ... 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-e6eeed27-94d5-4b12-88c8-cb29148cd39e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.UpdatePortTestCase.test_update_port_portgroup_active_node [0.125786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_049_nodes_states_power_put_observer [0.066122s] ... 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-d6b7aa8c-a9b9-47a9-ad48-728b68530a17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.130663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_295_chassis_chassis_id_patch_member [0.114203s] ... 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-18c2661f-9635-4ecc-ad58-8cadcb43314a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_050_nodes_states_boot_mode_put_admin [0.065782s] ... 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-d86f8798-aea9-4220-9671-5f14a066d5aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_active [0.056680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.143889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_051_nodes_states_boot_mode_put_member [0.077014s] ... 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-40594b94-aea3-4d98-995e-11c496eb6312 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_wait [0.083698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_296_chassis_chassis_id_patch_observer [0.152149s] ... 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-52c106e3-150e-42cb-9d79-fee7d5ed33ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_052_nodes_states_boot_mode_put_observer [0.073607s] ... 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-3f210648-cde3-4a42-8707-30677bd32d19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.134831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.104642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_053_nodes_states_secure_boot_put_admin [0.066023s] ... 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-977724a0-8b46-46f6-a5d3-e62b28997575 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.VifTestCase.test_vif_attach [0.104583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_297_chassis_chassis_id_delete_admin [0.174571s] ... 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-60cf0e70-badc-45d5-9bf6-3088311cfdb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScoped.test_scoped_canary_054_nodes_states_secure_boot_put_member [0.065238s] ... 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-d6fbe1dd-daf0-4392-9d75-eb929d3cc252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.109409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.068995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_055_nodes_states_secure_boot_put_observer [0.081318s] ... 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-0ac8b5ef-a597-4d8c-868e-aa6e5c74c672 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.VifTestCase.test_vif_attach_raises_network_error [0.049647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_298_chassis_chassis_id_delete_member [0.122795s] ... 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-e3e1e5c5-77c5-424b-8c0e-4c4e4b531e53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.051086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.149846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.052761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_299_chassis_chassis_id_delete_observer [0.104142s] ... 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-a2af9654-d27c-4a10-8e1d-7739fd2e554b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.VifTestCase.test_vif_attach_validate_error [0.047087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.140638s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.057175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.039557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_056_nodes_states_provision_put_admin [0.280304s] ... 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-9fb3ca7a-1084-4715-bd21-90996a7c7b13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_300_node_history_get_admin [0.153554s] ... 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-048dd60a-c208-4102-ad1f-46deda22e29d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "cec3091c-d9e0-4294-bbb3-0c32f0a4539a", "created_at": "2024-03-18T18:16:45.039051+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cec3091c-d9e0-4294-bbb3-0c32f0a4539a", "rel": "self"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_301_node_history_get_member [0.084599s] ... 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-dcab842d-cdfa-47ac-a471-18b0fc843c63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.170063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_057_nodes_states_provision_put_member [0.133209s] ... 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-a68ac03e-2484-4da3-9427-09bb209f5859 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_058_nodes_states_provision_put_observer [0.075130s] ... 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-fc758e3c-9e01-4b83-95ab-a9967eb120cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.116136s] ... 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-5cc388dc-eee9-4ecc-92fc-83859cd3a590 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ced0a523-8301-461f-acf9-3d5c73c9d279", "created_at": "2024-03-18T18:16:45.272153+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ced0a523-8301-461f-acf9-3d5c73c9d279", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_059_nodes_states_raid_put_admin [0.080460s] ... 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-ab70b5f7-9096-45a2-9bc5-053cf0214ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_303_node_history_get_entry_admin [0.107541s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/773b67c9-b861-4844-b2aa-35eb54aa4492 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-291ef89e-24f9-46d1-8334-21de89166404 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "773b67c9-b861-4844-b2aa-35eb54aa4492", "created_at": "2024-03-18T18:16:45.382320+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/773b67c9-b861-4844-b2aa-35eb54aa4492", "rel": "self"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_060_nodes_states_raid_put_member [0.074391s] ... 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-1c6b9eb4-d441-4851-a7b8-d3fc6857904c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.278198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_061_nodes_states_raid_put_observer [0.100350s] ... 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-4bff2357-ac6e-48e1-9323-769b6ed61274 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_304_node_history_get_entry_member [0.179060s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0f9555a8-7d0d-455a-b246-e465bd249a1a WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47e36746-ba1d-41d9-afa6-7bc9cffb5fa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.148651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_062_nodes_states_console_get_admin [0.112652s] ... 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-734f682a-a64c-4e50-ae72-472c9980d249 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.VifTestCase.test_vif_detach_raises_network_error [0.614205s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.043021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_305_node_history_get_entry_observer [0.172930s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d9e4470b-5071-4a57-94b2-14582b47a81f WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc3f9def-377d-47c7-a251-5dd02053c557 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "d9e4470b-5071-4a57-94b2-14582b47a81f", "created_at": "2024-03-18T18:16:45.743378+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/d9e4470b-5071-4a57-94b2-14582b47a81f", "rel": "self"}]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.062200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_063_nodes_states_console_get_member [0.233191s] ... 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-4466f56c-8f8a-4d97-8ad7-c654d3e1ac13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_cleaning.DoNodeCleanTestCase.test_do_node_clean_steps_fail_poweroff [0.287202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_attach_virtual_media_http [0.135223s] ... ok DEBUG util.py:445: {0} 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_064_nodes_states_console_put_admin [0.158262s] ... 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-9f692cbc-0dd4-49da-8114-9e6e6c9a40f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.VirtualMediaTestCase.test_attach_virtual_media_local [0.143397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media [0.185950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_065_nodes_states_console_put_member [0.229027s] ... 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-6a99532b-703d-4108-a7df-f40d31a79c4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_002_owner_admin_cannot_post_nodes [0.330349s] ... 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-d16c2e21-e07d-4e99-bc57-a417d2034130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_manager.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_attach [0.091492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_prepare [0.064345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_066_nodes_states_console_put_observer [0.143440s] ... 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-be4f94f5-d0c4-4a0e-879b-c1d747402f2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.033047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.027495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.023681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_067_nodes_vendor_passthru_methods_get_admin [0.078222s] ... 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-889b63b9-2504-4b6d-8c66-6c054e22a93f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_068_nodes_vendor_passthru_methods_get_member [0.081574s] ... 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-b11fd737-f7b7-434e-82e9-9eca95df38fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_notification_utils.TestNotificationUtils.test_emit_console_notification [0.131732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [0.763436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_003_owner_admin_can_post_nodes [0.361721s] ... 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-2065a197-737a-4935-bb84-29f70a134901 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.090075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.118729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_069_nodes_vendor_passthru_methods_get_observer [0.199314s] ... 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-1988a248-bdc9-4ef8-9cf5-a64262b83b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_070_nodes_vendor_passthru_get_admin [0.099267s] ... 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-636ea4bc-e06d-4fbe-b0fd-5b2a59ef845c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.125849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_071_nodes_vendor_passthru_get_member [0.081089s] ... 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-d0a6250c-93ed-495b-9f12-6195e0450f71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_004_service_nodes_cannot_post_nodes [0.285692s] ... 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-e3ca8f59-7fd6-4151-86a0-a41067bccfd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_072_nodes_vendor_passthru_get_observer [0.069195s] ... 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-6964d150-d8d3-425f-b18c-de3cc48eb789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_005_service_nodes_can_post_nodes [0.143271s] ... 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-c63709be-d467-438b-9ee1-62d837d5b6d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_073_nodes_vendor_passthru_post_admin [0.186020s] ... 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-e82b936a-a386-49eb-8298-a2b713813acc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_006_owner_manager_cannot_post_nodes [0.139670s] ... 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-48380d53-0ff5-409b-bf5c-487479cf9641 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_007_lessee_admin_cannot_post_nodes [0.102429s] ... 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-73d76fe7-de36-4edd-acb6-023a2098c24e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.710770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [0.434962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_008_lessee_admin_can_post_nodes [0.116952s] ... 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-5de5e244-bea0-48df-aa59-0ca2aae2fbec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.146129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.180715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_009_lessee_manager_cannot_post_nodes [0.118726s] ... 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-64587b7a-fe6f-4e7a-a197-8682119ba605 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.044482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.041255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.043839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_074_nodes_vendor_passthru_post_member [0.455380s] ... 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-3527a4a4-e52c-4754-a184-a7d71b57fe54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.130122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.277656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_010_lessee_manager_can_post_nodes [0.279602s] ... 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-8310d516-c520-4428-90d8-0a59d3de4efd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_075_nodes_vendor_passthru_post_observer [0.260840s] ... 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-c5920e52-9806-46da-b619-ee1c0dab00ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.175609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.200154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.074091s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.043897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_011_third_party_admin_cannot_post_nodes [0.275048s] ... 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-3ec4daa3-7496-456e-845e-f65b7906d53f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.054896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.156725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.083983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_076_nodes_vendor_passthru_put_admin [0.296098s] ... 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-5ea13885-58a3-48ae-a5df-9af0b7c269e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.084363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.151845s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.142454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_012_third_party_admin_can_post_nodes [0.410834s] ... 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-c05bcd5e-7867-43f5-bb2e-aa84dafe37db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_077_nodes_vendor_passthru_put_member [0.300798s] ... 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-51e7affb-0430-471c-9b85-82efbcbfd57b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_ok [0.201837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_raises_error [0.088925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.216404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_078_nodes_vendor_passthru_put_observer [0.146449s] ... 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-5afcc057-d5f2-47fe-82c1-c96a59018fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_inspect_wait [0.115450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_079_nodes_vendor_passthru_delete_admin [0.157881s] ... 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-a2d23410-47a4-4f01-93ab-2ca53deb99ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_inspecting [0.155131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.286213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_080_nodes_vendor_passthru_delete_member [0.158873s] ... 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-5540f5fd-a4cb-4065-9b97-fe4cd75a35a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_013_owner_member_cannot_post_nodes [0.476679s] ... 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-769e1dfb-aadb-48f4-8376-71a28137b912 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.099740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_other_state [0.123304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.142687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_unexpected_error [0.167697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_081_nodes_vendor_passthru_delete_observer [0.251732s] ... 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-07b7e060-6fca-4c9e-9054-6f0d0119d94d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.096145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.095257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_014_owner_reader_cannot_post_reader [0.376844s] ... 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-b6e5daa7-9d04-47c9-9e02-741a74f6c123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_082_nodes_traits_get_admin [0.192758s] ... 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-f2cf3447-4347-4cb3-878b-8ee03ea7235a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.265827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_083_nodes_traits_get_member [0.147839s] ... 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-9b380128-2c9e-4d23-aa04-2ea557aa24bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.230472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_084_nodes_traits_get_observer [0.144488s] ... 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-e96dfde4-b01a-43b1-a768-7a29cf3ca74e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.190202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_015_owner_admin_can_get_node [0.449423s] ... 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-d5685490-3416-408a-9fc4-15ffd7f9fcd5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7d13fb7e-baac-4ffc-b980-32e5902f0dde", "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.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.086173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_085_nodes_traits_put_admin [0.142111s] ... 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-a77d8bee-08af-4b32-af01-5f8566e82ca1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.041953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.035868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.473304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.050259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.039738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.042258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.040823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.043203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.049238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.057116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.042653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_016_owner_manager_can_get_node [0.501029s] ... 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-7de5b504-ffa2-4f56-9aec-6c022d6212e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "935f7c9d-d8e4-482b-91b0-18957067e490", "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.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.040693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.040512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_086_nodes_traits_put_member [0.560807s] ... 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-7332cdc9-35c8-4972-8dde-54b2283e2652 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.052886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.055255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.583979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.074718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.068322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.053442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.064270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.062528s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_087_nodes_traits_put_observer [0.394611s] ... 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-f06ccaa9-f4eb-4cbe-a365-254a4f6b1eea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.122293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.334584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_088_nodes_traits_delete_admin [0.252466s] ... 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-7cf52b67-08fd-487b-8004-4d5281bd7d63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.149813s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.124056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.077072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_017_owner_member_can_get_node [0.988941s] ... 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-8b60474f-6c4e-4813-a297-6efb8aef6aa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "25cbb36b-74bb-4c16-96f6-abfbf9f492b8", "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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_089_nodes_traits_delete_member [0.220318s] ... 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-5be3f956-304c-4591-867f-9b2bb5385d10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.403643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.082581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_018_owner_reader_can_get_node [0.134843s] ... 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-7017a4c8-f2d7-452a-841a-d767f2007fc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "a2acf652-8d01-4d78-b988-c6915dbe22dd", "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.test_acl.TestRBACProjectScoped.test_project_scoped_019_lessee_admin_can_get_node [0.065597s] ... 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-46b789f2-4d85-42d4-961d-3066428ebc6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "74b7fc2d-0bf6-4725-af75-55a4dedc4a09", "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.test_acl.TestRBACProjectScoped.test_project_scoped_020_lessee_manager_can_get_node [0.066903s] ... 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-7387cfb1-2f03-470e-ae33-deecffcc1e34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "0e6e058b-408c-4e4e-bed1-a45119a93ce5", "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.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.265255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_090_nodes_traits_delete_observer [0.298249s] ... 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-1c9822c0-8f87-4c4a-a4fd-b27d1892c635 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_021_lessee_member_can_get_node [0.067184s] ... 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-bf8b8e8e-ba19-4c34-a2c0-2568c7f95887 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "5174a481-ab7d-49e4-a001-6701ffcf366c", "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.test_acl.TestRBACProjectScoped.test_project_scoped_022_lessee_reader_can_get_node [0.073493s] ... 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-c541cdb5-1d04-4ed7-88d6-12ee3207bb74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "02c9000f-c5ef-4afa-ac72-c90e488a4beb", "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.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.370790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_091_nodes_traits_trait_put_admin [0.159702s] ... 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-b987de3c-d84d-49cd-b3c3-c5d586429e9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_023_third_party_admin_cannot_get_node [0.115002s] ... 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-62a5cd20-bc49-4879-be62-371eef5bc6e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait [0.242274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_024_owner_reader_can_get_their_node [0.182087s] ... 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-24ef3fa9-360d-4572-8080-0e942bf99f7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:51.998762+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.425567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_092_nodes_traits_trait_put_member [0.269071s] ... 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-0305e079-6d53-41a3-941f-cbd04c482614 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_093_nodes_traits_trait_put_observer [0.080837s] ... 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-56fe331b-7413-44cd-b84c-322fade47730 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_025_owner_reader_cannot_get_other_node [0.193433s] ... 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-262547d5-9981-4e4d-9ec6-945ee75fb57a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_094_nodes_traits_trait_delete_admin [0.075552s] ... 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-25a70cc3-e509-4129-946e-0a361ce3d4b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_095_nodes_traits_trait_delete_member [0.075555s] ... 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-c4a53aae-afe0-4f84-8df9-c2ed977dd6d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_096_nodes_traits_trait_delete_observer [0.077448s] ... 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-c4169b4e-bb34-46b5-b32d-96459e851ca2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_026_lessee_reader_can_get_their_node [0.162773s] ... 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-2351fd24-2d50-4b15-b07d-3271401732e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:52.369620+00:00", "updated_at": "2024-03-18T18:16:52.398156+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": "619319fc-d950-4a91-a445-bff23a37a172", "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": "619319fc-d950-4a91-a445-bff23a37a172", "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: {1} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time [0.411661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_097_nodes_vifs_get_admin [0.094871s] ... 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-aeeb25a7-ba1f-4159-8c90-d37ea10ee9f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_098_nodes_vifs_get_member [0.067057s] ... 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-2b272cb5-2a40-4853-b2aa-7e0cfcf912b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_099_nodes_vifs_get_observer [0.071639s] ... 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-b92f7385-cce0-449a-83e4-05ce43486e49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_027_lessee_reader_cant_get_other_node [0.272796s] ... 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-b22e1d8b-fdb8-4012-8fa1-d2d4bd0bf707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_100_nodes_vifs_post_admin [0.072172s] ... 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-577e50a9-6187-4ebc-8545-3a2b98e77ecf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time_to_long [0.314478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.687515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_101_nodes_vifs_post_member [0.074220s] ... 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-aeb0e37b-7fa6-4e0a-ac1d-3c2c4f287795 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_102_nodes_vifs_post_observer [0.067554s] ... 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-d1401e4a-9e93-40d4-99e0-7c4568718312 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.178148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_103_nodes_vifs_node_vif_ident_delete_admin [0.070029s] ... 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-bfc5f9b4-2878-418e-9b4b-c2faf7061399 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_104_nodes_vifs_node_vif_ident_delete_member [0.080303s] ... 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-8f01ed99-1c06-4f86-a03b-6bad37552db3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_105_nodes_vifs_node_vif_ident_delete_observer [0.083742s] ... 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-bcf03a70-24ab-4ceb-b22d-33864a682009 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_106_nodes_management_indicators_get_admin [0.083192s] ... 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-ee9c5858-d7cb-4342-abfa-24e0ff9c5a30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_028_third_party_admin_cant_get_node [0.496687s] ... 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-8a7b429c-ca29-494c-ab32-70bbf85a8a8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_107_nodes_management_indicators_get_member [0.067142s] ... 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-e8313af6-79f0-4d87-a291-c8ac93de2db6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_108_nodes_management_indicators_get_observer [0.079936s] ... 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-5a4d69a5-9180-4b6b-ae59-f54d7e974843 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.475298s] ... ok DEBUG util.py:445: {2} 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: {2} 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: {2} 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_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.174491s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_112_portgroups_get_admin [0.060126s] ... 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-7064cb14-573f-4f8d-8ee6-755ccbe55c60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.872407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.094756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_113_portgroups_get_member [0.068835s] ... 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-ddf7959c-ae05-49e0-bf6c-3cba816600cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_114_portgroups_get_observer [0.061960s] ... 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-1bf9bed6-e6fa-4392-ad2c-0ec61b4c54ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_115_portgroups_post_admin [0.086674s] ... 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-01ffe199-fa68-4b1f-acb4-4b6234ca1676 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_utils.CacheBootModeTestCase.test_change_secure_off [0.196464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_029_owner_reader_can_get_restricted_fields [0.715043s] ... 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-15521914-a517-4621-b1dc-a648cbe86ff9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:53.603254+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_116_portgroups_post_member [0.081360s] ... 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-a8054837-c65b-4e33-a915-e5edf7a662fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.134246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_117_portgroups_post_observer [0.104365s] ... 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-b809eabe-9a73-4c81-b568-66975a3cc9b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_118_portgroups_detail_get_admin [0.076762s] ... 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-697e2e60-8ada-4fa9-a6b9-955b3686e111 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_utils.CacheBootModeTestCase.test_failed_boot_mode [0.148500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_119_portgroups_detail_get_member [0.089215s] ... 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-b8f53bda-a066-4f11-89d0-2545c76a06d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_utils.CacheBootModeTestCase.test_failed_secure [0.124420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.048461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_030_lessee_reader_cannot_get_restricted_fields [0.441326s] ... 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-849ac795-f906-402b-aeaf-67c40e6d63e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:16:54.159679+00:00", "updated_at": "2024-03-18T18:16:54.175506+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": "7d4d5747-e8f7-4602-bad3-40e34d50fdbc", "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": "7d4d5747-e8f7-4602-bad3-40e34d50fdbc", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_120_portgroups_detail_get_observer [0.107799s] ... 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-f45d81bc-2a1d-4d42-88b0-bb8d2b60b1fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.703384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.085884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.041845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.134088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.063103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_121_portgroups_portgroup_ident_get_admin [0.193194s] ... 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-1055d1ff-0441-4f04-82ef-792dce12e9ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.CacheVendorTestCase.test_empty [0.046419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.069076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.051670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.048008s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.030101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_122_portgroups_portgroup_ident_get_member [0.234418s] ... 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-10f1a736-0eeb-441d-a96a-9b012e391098 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_031_owner_reader_can_get_detail [0.459621s] ... 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-d36c75bc-e6ee-4cce-a61d-fe74a31a5ee1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:54.505565+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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-18T18:16:54.530648+00:00", "updated_at": "2024-03-18T18:16:54.652253+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": "af432dd1-fd91-442f-8cab-ee43e1987c33", "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": "af432dd1-fd91-442f-8cab-ee43e1987c33", "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: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.049129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.349793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.048502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.040015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.066738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_123_portgroups_portgroup_ident_get_observer [0.213728s] ... 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-acdcc840-7691-40f3-ae14-8c36e607d346 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_032_lessee_reader_can_get_detail [0.163248s] ... 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-7b955ac3-7a0b-4119-9d4d-b76e451fd0fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:16:54.938460+00:00", "updated_at": "2024-03-18T18:16:54.950578+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": "d0942220-53e3-46fc-bc5f-e198512ece7b", "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": "d0942220-53e3-46fc-bc5f-e198512ece7b", "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: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.077338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.331186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_033_third_party_admin_cannot_get_detail [0.200081s] ... 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-72040478-ae35-46d9-b468-d075a2b01be1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.172619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_124_portgroups_portgroup_ident_patch_admin [0.355264s] ... 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-f2da9219-6010-4fdc-be1e-08cac1e8b41d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.225610s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.118847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.465026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_125_portgroups_portgroup_ident_patch_member [0.401889s] ... 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-a2f8ddc5-0a78-4855-87c7-1b0613fcffc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.195703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_034_owner_admin_can_patch_node_extra [0.579094s] ... 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-e9459a0d-5dd7-4c86-8c6d-6b2bafc85503 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.MiscTestCase.test_restore_power_state_if_needed_false [0.296212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.494712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_126_portgroups_portgroup_ident_patch_observer [0.399526s] ... 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-3e1df469-c982-44c0-b275-4c8b8077ecb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.214825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_035_owner_manager_can_patch_node_extra [0.550562s] ... 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-07de8246-0a78-4988-aba4-e8df1dea106b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.NodeHistoryRecordTestCase.test_record_node_history [0.142606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_127_portgroups_portgroup_ident_delete_admin [0.315006s] ... 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-5cd1f1e4-41a5-4692-80f3-c2113ae26972 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.448033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.185231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_128_portgroups_portgroup_ident_delete_member [0.193785s] ... 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-812ac307-6c08-4084-807b-03b73a792c06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_036_owner_member_can_patch_node_extra [0.379165s] ... 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-f229d763-d40f-4e98-86a7-05f37bd2693e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.NodeHistoryRecordTestCase.test_record_node_history_noop [0.113352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.215242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.037370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.029894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.141799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_037_owner_reader_cannot_patch_node_extra [0.182594s] ... 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-5cc8c23f-6b33-4302-9e6a-c3feb19ec8ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.CreatePortTestCase.test_create_port [0.049933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_129_portgroups_portgroup_ident_delete_observer [0.233013s] ... 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-9b57b42e-2133-4213-aa1e-d1de6d2f2c35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.081282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.049310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.044764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.046558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.057890s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.211999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.075506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_038_lessee_admin_can_patch_node_extra [0.293226s] ... 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-3056b58c-a740-4130-9fe0-bc1cc7501684 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.063548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.042345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.181500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.060963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.130146s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.168248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_039_lessee_manager_can_patch_node_extra [0.377708s] ... 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-ef33b1f1-d763-4c9b-b4ca-67f688b35c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.085100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.115565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_ramdisk_deploy [0.289368s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.124170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_040_lessee_member_can_patch_node_extra [0.319013s] ... 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-332e9021-dfac-4de8-a652-6d0c370ecc28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_130_nodes_portgroups_get_admin [0.968758s] ... 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-9d0433ae-6326-45ef-99c5-fe1922bf2d01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ServiceUtilsTestCase.test_wipe_service_internal_info [0.188465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_131_nodes_portgroups_get_member [0.197690s] ... 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-e47710b3-1d8f-49cb-9b89-7504800a9507 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.122733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.415117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_041_lessee_reader_cannot_patch_node_extra [0.332899s] ... 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-6fd6e307-0dce-4b1d-9e44-3b4b3183d72a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.119783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_132_nodes_portgroups_get_observer [0.238931s] ... 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-90be7731-1cdc-4beb-88ad-1f58262c40cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.112902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_133_nodes_portgroups_detail_get_admin [0.097937s] ... 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-3251f0f0-2ba4-45e8-8a87-97927726dc5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.073880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.388383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.186276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.057461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_042_third_party_admin_cannot_patch_node_extra [0.491949s] ... 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-85f06af2-d760-4609-ba15-1187fd1a17e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.TestRBACScoped.test_scoped_canary_134_nodes_portgroups_detail_get_member [0.330303s] ... 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-5d406409-bdfa-46e8-9ce5-562a3537574d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.236917s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.319820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.421416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_135_nodes_portgroups_detail_get_observer [0.420167s] ... 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-2699a8d6-67b7-4631-9f77-3d5c0d8e42e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_043_owner_admin_can_change_drivers [0.669518s] ... 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-cb112949-28ca-4420-a3b9-0086f100eb05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.297913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.332996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_136_ports_get_admin [0.397862s] ... 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-f8dc8961-a890-4dfe-b5a1-44acf5817d82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.274035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.252738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_137_ports_get_member [0.286404s] ... 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-a38fc473-ce57-4022-9910-bee975b2fff4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_044_owner_manager_can_change_drivers [0.497441s] ... 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-560fbb10-8f1c-4eec-a662-c43fccea6ca5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.399340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.117756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_138_ports_get_observer [0.415875s] ... 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-1cdfa40d-e939-485c-a082-0808c549de4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.095785s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.720111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.118296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_139_ports_post_admin [0.163069s] ... 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-ada53f07-0465-466e-b3cb-cb57d956716e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_045_owner_member_can_patch_all_the_things [0.552355s] ... 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-b49d8645-e325-486e-9ddc-c387bb42b47e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_140_ports_post_member [0.093763s] ... 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-e2052a48-fcf5-4c1f-b761-dbde73cdabfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_automated_clean [0.100643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_141_ports_post_observer [0.081465s] ... 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-39c329c7-f8d7-45e0-aed7-626fd0edfe2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_manual_clean [0.090701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_142_ports_detail_get_admin [0.075582s] ... 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-696f6cff-81b7-4d0c-9221-7abf8d5e84d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_046_owner_member_can_change_lessee [0.290474s] ... 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-de036689-73d8-4560-bf32-a02e918a93d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_143_ports_detail_get_member [0.072714s] ... 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-455a4be0-840a-4549-8f23-01e91fb57563 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_from_deployhold [0.179008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_144_ports_detail_get_observer [0.067320s] ... 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-b347737b-b3d8-4d74-b8c6-464c4c058eee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_145_ports_port_id_get_admin [0.148876s] ... 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-4909b29f-6523-466f-b688-50704527fd89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.216744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_146_ports_port_id_get_member [0.100914s] ... 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-0c72a2ae-1d09-4434-9881-fd0a019ea6a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_147_ports_port_id_get_observer [0.091390s] ... 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-665fd45f-80dc-4581-b7b9-23927648cc54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_047_lessee_admin_cannot_change_lessee [0.458680s] ... 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-86a8971c-4a80-40fe-b38f-8ad39e892aab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.195579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.794374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_148_ports_port_id_patch_admin [0.089738s] ... 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-ce34bc26-0b48-4a17-9768-07f472f7a83f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_149_ports_port_id_patch_member [0.088375s] ... 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-9dbe6bd6-58cb-465f-8f9d-588da2fac7a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.177297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_150_ports_port_id_patch_observer [0.095547s] ... 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-8a9f8395-c451-4221-8d90-ee01c40c1caf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.164885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_151_ports_port_id_delete_admin [0.122374s] ... 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-e33f07fd-c45a-4bce-917d-c3f585388441 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.129771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.033150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_152_ports_port_id_delete_member [0.173984s] ... 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-55083c22-866a-46be-95be-f769a1b1e397 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_048_lessee_manager_cannot_change_lessee [0.556749s] ... 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-41e03174-4187-4067-94cb-e21df0219c98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.047744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.028740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.584635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.032794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.030795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.027699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_153_ports_port_id_delete_observer [0.152432s] ... 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-40b8a895-5a67-4f35-9805-5e17f1896d8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.025372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.110644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.027423s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.026589s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.105710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.077690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_154_nodes_ports_get_admin [0.154672s] ... 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-1f445798-7adf-44e3-b0d3-a258b8be0532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.MiscTestCase.test_get_node_with_token [0.057999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.070068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.066654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_049_lessee_admin_cannot_change_owner [0.472285s] ... 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-0910f133-a280-48d9-b056-090a890bf8b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_node_with_token_already_locked [0.034607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_155_nodes_ports_get_member [0.236916s] ... 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-4ae7c1ba-0792-4328-82a0-89fb7a5ae26d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.MiscTestCase.test_node_with_token_already_set [0.031644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate [0.069557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.034112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.035019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.036789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate_some [0.117489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.039737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.042374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_all [0.085569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_with_limit [0.081164s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.113494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_050_lessee_manager_cannot_change_owner [0.373767s] ... 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-c24b8915-a7e9-462b-a94d-711d1200b012 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_156_nodes_ports_get_observer [0.241216s] ... 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-0b18bf76-7f95-4630-a7c9-2fd50f24e4da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.060147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.148642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.055621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.098921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.132041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.075028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.060730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_157_nodes_ports_detail_get_admin [0.386788s] ... 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-f496d14f-a3ce-46bb-89e1-0763c3c40dc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.058086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.164163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.050581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.069255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_disabled [0.090446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.071288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_051_owner_admin_can_change_lessee [0.770975s] ... 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-4784f3bf-7386-4f8e-a3e4-067ab7ac1fa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_158_nodes_ports_detail_get_member [0.485879s] ... 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-474a17dc-6e6c-49cf-88fb-70c8f0982d4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.513960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_one_worker [0.259195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.065265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_052_owner_manager_can_change_lessee [0.244878s] ... 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-b5a6e376-5933-4041-a040-9d3732186930 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.225705s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.353390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_159_nodes_ports_detail_get_observer [0.428681s] ... 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-b45b3a2b-b482-4b4c-82ea-e2fb1d333eeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.251150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.070037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.398089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.059750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.061126s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.051077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.048354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_160_portgroups_ports_get_admin [0.469964s] ... 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-c8346384-fb0d-48b7-aabe-de9f2d372ed0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.058788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.065662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.065653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.082982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.028109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__sensors_conductor [0.499637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.029783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.033554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.030491s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.033339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.036934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.030838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_161_portgroups_ports_get_member [0.459020s] ... 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-9cfd975a-7605-4877-ad42-e485f862f7ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.030831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.038272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.040831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_053_owner_admin_cannot_change_owner [1.448530s] ... 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-43283e79-e524-4485-ba5a-4f2dbfb31f07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.033309s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.081062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_162_portgroups_ports_get_observer [0.266489s] ... 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-78784c08-c4ec-4c92-b8c2-4d03c57e3d23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.470655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.064557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_163_portgroups_ports_detail_get_admin [0.079272s] ... 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-67c1c1cd-d7ba-4d6e-856b-5f24368952d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.072237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.037652s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_164_portgroups_ports_detail_get_member [0.068116s] ... 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-754df946-7664-4e5b-bf5a-c0dfd2b8008e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.053703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_054_owner_manager_cannot_change_owner [0.364910s] ... 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-8bc9a86c-d978-4a76-a55c-9a81fd829adc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_165_portgroups_ports_detail_get_observer [0.084137s] ... 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-e4a6d957-d104-4e5a-acef-a0f164b37285 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.049452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.055766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.078633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.068960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_166_volume_get_admin [0.244992s] ... 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-96cadbc5-455e-4be9-b288-1dd5261226b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.474803s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.059225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_167_volume_get_member [0.062056s] ... 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-7d7fae93-8eb1-4908-844c-8f4b654b70fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.053108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.031676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_168_volume_get_observer [0.078763s] ... 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-5155bb9d-e8c3-4047-8dea-f5469a694eef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.027640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_169_volume_connectors_get_admin [0.069063s] ... 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-2d2204ce-2056-4a18-b124-53318c649537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.217422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.070668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.058774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_170_volume_connectors_get_member [0.076493s] ... 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-bb1cde7b-053d-4677-b3f2-a3c9598aedcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.058006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_171_volume_connectors_get_observer [0.063097s] ... 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-48d10549-21a7-4ee9-8d82-1b091ba11e1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.158330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.044310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_055_lessee_member_can_set_protected [0.676440s] ... 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-fe0488e1-ae40-48e9-946f-b90a4f2ab682 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_172_volume_connectors_post_admin [0.079921s] ... 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-9fc1066e-1e64-433b-b4d0-af05424b2223 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.080617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.026078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.033849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_173_volume_connectors_post_member [0.090077s] ... 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-96e0ce91-0d86-46fc-ab51-96f7d6eefe2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.171856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_056_lessee_member_cannot_patch_instance_info [0.155907s] ... 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-1d410fa0-278b-44b6-976c-1149f19ec70c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.107664s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_174_volume_connectors_post_observer [0.126291s] ... 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-049a5db8-684c-4562-af35-11ae0d98ab78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.test_acl.TestRBACProjectScoped.test_project_scoped_057_lessee_member_cannot_patch_driver_info [0.096237s] ... 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-9ecf6201-8c02-4652-967b-c6b1a3f33af4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.173424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.104160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_058_lessee_member_cannot_patch_properties [0.080146s] ... 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-be4cb8e7-e46d-4df7-9c20-b1a4cc4a8324 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.081300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.108365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_059_lessee_member_cannot_patch_network_data [0.113480s] ... 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-e621454c-8021-4284-9445-8b946d1702d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_175_volume_volume_connector_id_get_admin [0.226739s] ... 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-e2a5da24-b835-4952-aa3b-1a963fc77ef9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.035697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.122433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.097333s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_176_volume_volume_connector_id_get_member [0.160665s] ... 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-ec6440c4-3581-4588-9fcb-a038bd37b5d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.265514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_177_volume_volume_connector_id_get_observer [0.146856s] ... 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-50b3eb05-a532-451e-901c-0ac49794b25f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.163817s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.109383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_060_lessee_member_cannot_patch_name [0.395716s] ... 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-bb926cec-2904-49e0-9768-9cc99f7f47d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.065878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.210567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.079620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.049663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.032053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.022307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.029719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.025373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_178_volume_volume_connector_id_patch_admin [0.369501s] ... 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-b8b69c2c-81c3-489e-b78d-c4514123dd1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.022531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.053591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_061_lessee_member_cannot_patch_retired [0.386557s] ... 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-779237c0-2bdd-43a8-8b17-2627beb6e669 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.063828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.052005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.355796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.068807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.059299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.169740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.057443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.058297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.048201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_179_volume_volume_connector_id_patch_member [0.469828s] ... 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-69fd62f1-e1eb-4206-8691-c658f09144bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.039827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_062_owner_admin_can_patch_node_instance_info [0.541198s] ... 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-0d5e60f5-5c98-40c7-a49a-ed963890bb37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.109686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.329894s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.146458s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.096426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.039953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_180_volume_volume_connector_id_patch_observer [0.390987s] ... 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-e1e4fab3-2a94-4e2e-82be-dac02f78a830 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_181_volume_volume_connector_id_delete_admin [0.274424s] ... 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-da530ee2-4d95-4305-9a10-aef845cce215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_182_volume_volume_connector_id_delete_member [0.089238s] ... 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-bad7d611-22a7-40d1-acba-262a31f47d2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.492876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_183_volume_volume_connector_id_delete_observer [0.085353s] ... 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-2502458a-d2e1-4ceb-9990-57e7ce624fa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_184_volume_targets_get_admin [0.086656s] ... 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-842c7fd6-f6cb-4a00-92df-c7a66007e508 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_063_owner_manager_can_patch_node_instance_info [0.842043s] ... 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-e57591e6-0bf3-4135-8cc5-c239694241ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_185_volume_targets_get_member [0.107934s] ... 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-090e6a07-7a80-4605-9619-bb8cc77537f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.263560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.211859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_186_volume_targets_get_observer [0.302951s] ... 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-3e386a42-a27d-47e3-a64c-26ca8f7e8dde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_064_owner_member_can_patch_node_instance_info [0.523078s] ... 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-54ca3164-11a7-4a41-ba32-53948d066fa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.272522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.360962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_187_volume_targets_post_admin [0.411121s] ... 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-2dc9ec40-1462-4880-8cb6-728ff104f00a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.231071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.276193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_065_owner_reader_can_patch_node_instance_info [0.398753s] ... 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-4dd9f071-8b20-494a-8561-1ed8e60db86f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_188_volume_targets_post_member [0.236568s] ... 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-a46a709d-88ad-42eb-9b93-ddb477bb82c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.263480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.108628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.333407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_189_volume_targets_post_observer [0.201770s] ... 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-64ae07cd-cb06-4ebb-a045-4531f1eb0c7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.test_acl.TestRBACProjectScoped.test_project_scoped_066_lessee_admin_can_patch_node_instance_info [0.384040s] ... 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-3f31065d-61fa-4bf3-8890-4aa15fd24379 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.092675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.098872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.191230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_067_lessee_manager_can_patch_node_instance_info [0.130035s] ... 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-172e739b-556a-489b-b7bf-a86f91c6a158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_190_volume_volume_target_id_get_admin [0.195257s] ... 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-4883f784-b10f-42e8-972c-4cafb636cffb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_068_lessee_member_cannot_patch_node_instance_info [0.082813s] ... 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-04e83347-fd7a-4818-87bd-db5ffaf2f4fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.116702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.152507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_191_volume_volume_target_id_get_member [0.164646s] ... 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-affd48b3-b0e9-4e0d-96e9-9cc0c8e9d200 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_069_lessee_reader_can_patch_node_instance_info [0.117190s] ... 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-e2f9121b-cacd-47ed-9eef-8863a04d30ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.132459s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.123693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_070_third_party_admin_cannot_patch_node_instance_info [0.084266s] ... 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-8d44b5c3-b0cc-4461-acb8-5bce00692e72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.105516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_192_volume_volume_target_id_get_observer [0.194899s] ... 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-4b70d125-0be0-4cca-8c83-1f8992055cdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_071_owner_admin_cannot_delete_nodes [0.103408s] ... 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-52bcfd7a-0f4f-4cec-9686-0e408de8c9e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_072_owner_admin_can_delete_nodes [0.081286s] ... 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-ebed2816-9811-4008-805d-4604bfa7e6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.117681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_193_volume_volume_target_id_patch_admin [0.120365s] ... 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-d47bb8db-67e0-4f65-bfcb-952971eca076 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.043593s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.295784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_073_service_cannot_delete_owner_admin_nodes [0.080833s] ... 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-d9dcabc2-3a46-43f7-9535-35feca919253 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.042052s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.031517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_074_service_can_delete_nodes_in_own_project [0.087090s] ... 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-ec66870c-9a6e-457b-a33a-1d10994dd301 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.041435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.055484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_075_owner_manager_cannot_delete_nodes [0.083386s] ... 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-b1139753-dd94-4794-848e-7edfc53d59fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_194_volume_volume_target_id_patch_member [0.210478s] ... 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-6b969f0c-4730-4260-bc21-be1cb2b648ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.183509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.046745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.038323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_076_lessee_admin_cannot_delete_nodes [0.079508s] ... 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-ff25653b-d89f-4c8c-8d70-8ccae3fd31e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.036723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.135785s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.035461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_077_lessee_manager_cannot_delete_nodes [0.071565s] ... 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-39eaf530-7527-4efa-a678-38081c31eed7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.060790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_078_third_party_admin_cannot_delete_nodes [0.068972s] ... 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-cb70782f-7b2a-4eb6-9827-f853fd0837cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.TestRBACScoped.test_scoped_canary_195_volume_volume_target_id_patch_observer [0.264381s] ... 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-f4d23860-25d0-4076-b8c7-65fdb160aa73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.057654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_079_owner_admin_can_validate_node [0.071831s] ... 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-e3d186d5-a0c8-4a79-b0d5-f66601259bb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_080_owner_manager_can_validate_node [0.081610s] ... 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-e77a4dc6-ea7e-467f-bd7c-069a882dc6bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_196_volume_volume_target_id_delete_admin [0.175521s] ... 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-bce72226-8d62-4021-a3cc-3ff0d9cf8c99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_081_lessee_admin_can_validate_node [0.072539s] ... 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-163075ae-8d5b-49be-bf55-b70ff9b14693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_082_lessee_manager_can_validate_node [0.070366s] ... 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-f4b37483-f494-4eb8-8f3e-20f2dfbb7ef0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.408349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_083_owner_member_can_validate_node [0.069767s] ... 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-8e8a5443-d1b3-45da-a282-9ef213a9c534 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_197_volume_volume_target_id_delete_member [0.193518s] ... 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-157a93aa-8492-4336-8cee-b7a391964b6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_084_lessee_member_cannot_validate_node [0.079746s] ... 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-94be13da-79dc-46b2-9dd8-539a78dc57ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.test_acl.TestRBACProjectScoped.test_project_scoped_085_third_party_admin_cannot_validate_node [0.080451s] ... 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-0eaa1447-31f2-4d71-b38e-231fb4902db5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.TestRBACScoped.test_scoped_canary_198_volume_volume_target_id_delete_observer [0.180446s] ... 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-750d39d7-3873-4d94-bfe5-7563444d464c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_086_owner_admin_can_set_maintenance [0.084416s] ... 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-bef1f62b-04f7-4fa5-99f4-b40d3bd2c9ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.288815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_087_owner_manager_can_set_maintenance [0.083763s] ... 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-dcb0d3ff-f48d-4420-a8c4-7dc2ea4bea18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.112653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_088_lessee_admin_can_set_maintenance [0.084335s] ... 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-1e856c0e-ddf1-43ba-ac28-ea124f727454 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_199_nodes_volume_get_admin [0.250023s] ... 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-dc888626-71bf-4bb7-b371-ad657145910e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.091879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_089_lessee_manager_can_set_maintenance [0.090821s] ... 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-32fde353-cea2-4997-81d8-7e9df8bd3e4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_090_owner_member_can_set_maintenance [0.090012s] ... 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-ee96865b-5149-4844-81ad-829782c047f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_200_nodes_volume_get_member [0.220804s] ... 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-1caf9ebe-3748-47c8-9923-8f982ef89f26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_091_lessee_member_cannot_set_maintenance [0.104373s] ... 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-5df0dc75-ab16-444d-9048-867090c3ab3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.046486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_092_third_party_admin_cannot_set_maintenance [0.070286s] ... 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-2c9e98bf-17e5-43f0-856a-a94c415832c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.336907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_093_owner_admin_can_unset_maintenance [0.089167s] ... 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-86e7131b-8649-4cb4-ae9b-ad159bcd2b26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_201_nodes_volume_get_observer [0.205088s] ... 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-78c8563f-6e6d-4c5f-ac94-72f4839ab3f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_094_owner_manager_can_unset_maintenance [0.099817s] ... 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-4a661701-9255-4a28-b7d8-2d0d9624e29c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.322840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_095_lessee_admin_can_unset_maintenance [0.331415s] ... 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-8798b2b1-78b3-4bf0-83dd-a3b72cb9e532 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_096_lessee_manager_can_unset_maintenance [0.083239s] ... 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-90dc30bb-5969-4c3a-a671-d6f5235afa4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_097_owner_member_can_unset_maintnenance [0.080020s] ... 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-ff959471-e08d-448e-8c0b-0859212a1aea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_098_lessee_member_cannot_unset_maintenance [0.093796s] ... 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-8f87b047-448a-4fa8-92ae-e4ab23bac8ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_099_third_party_admin_cannot_unset_maintenance [0.080048s] ... 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-4bda7e92-76a8-4d4f-9e1f-588436826665 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_100_owner_admin_can_set_boot_device [0.075022s] ... 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-eade055e-d3f2-43ce-8512-bbbe7665006e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_101_owner_manager_can_set_boot_device [0.092941s] ... 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-c8c51a19-7000-42de-9538-8b5f5bdf25a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_off [1.153696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_202_nodes_volume_connectors_get_admin [1.018931s] ... 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-bbbdc203-cd44-4d01-b05f-acdae1e14e45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.064180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.046961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.053207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_102_lessee_admin_cannot_set_boot_device [0.286430s] ... 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-4dc68263-632c-4ede-9551-30c422db0260 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.054169s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_203_nodes_volume_connectors_get_member [0.291312s] ... 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-22fd0e2b-76c9-4240-ae82-e04fbcd61bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [1.111383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_103_lessee_manager_cannot_set_boot_device [0.219165s] ... 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-de1bc7c6-7926-40b5-b9eb-0a31f9864b0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_204_nodes_volume_connectors_get_observer [0.248334s] ... 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-1ace73c1-9472-4e31-9c56-006419f12646 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.303210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.429039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_104_owner_member_cannot_set_boot_device [0.239783s] ... 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-c8cc9181-83b3-4f74-8a10-ff08c85f138e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.037238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_205_nodes_volume_targets_get_admin [0.180984s] ... 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-1012dd36-7a0f-46bc-95fb-a8c5b7a654a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.124796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_206_nodes_volume_targets_get_member [0.108980s] ... 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-0962261a-cb12-4e9a-8627-d146bc87d413 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.179048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_207_nodes_volume_targets_get_observer [0.164044s] ... 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-96311ff7-a204-46fa-a90f-ca711695f7c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_105_lessee_member_cannot_set_boot_device [0.391478s] ... 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-81164e25-8402-461e-8c82-26c146c9de48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_208_drivers_get_admin [0.068911s] ... 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-a67a0937-e6f8-4d05-84c3-ee794b00e49e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.130934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_209_drivers_get_member [0.072264s] ... 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-50175d75-4fb4-421c-aa5a-340ddf52a2a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_210_drivers_get_observer [0.068081s] ... 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-cf31ce0b-3ee6-4477-a843-b0f55e92eded DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_211_drivers_driver_name_get_admin [0.058085s] ... 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-cd6da293-da4d-42c6-826c-fd8bd9c02e4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.206881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_106_third_party_admin_cannot_set_boot_device [0.309186s] ... 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-128bd4cd-3caa-44c5-a641-bb34ce400c9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.TestRBACScoped.test_scoped_canary_212_drivers_driver_name_get_member [0.062150s] ... 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-dcbded30-8214-42bc-a94a-16a333afa551 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_213_drivers_driver_name_get_observer [0.061733s] ... 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-c25e52dc-0282-47c7-a188-25937d20cabb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_214_drivers_properties_get_admin [0.059147s] ... 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-5036e033-608f-4a51-a9bf-0aa264ad9089 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.106213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_215_drivers_properties_get_member [0.062543s] ... 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-a9113e6e-c1a0-4f75-826c-a738501e5cf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_216_drivers_properties_get_observer [0.062728s] ... 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-2c897178-d856-4621-87f8-6b3aafea1aeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.151256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_217_drivers_raid_logical_disk_properties_get_admin [0.061650s] ... 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-d2453253-bbfe-492d-8d11-7da72a16283e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.058104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_218_drivers_raid_logical_disk_properties_get_member [0.062769s] ... 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-3364b795-bffd-45b9-bce3-bbf398fed0c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.064386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_219_drivers_raid_logical_disk_properties_get_observer [0.062436s] ... 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-eba5b7d1-1d6d-40eb-8fbc-1f3a00d6bf17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_107_owner_admin_can_get_boot_device [0.427414s] ... 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-55481166-abf1-4610-8db7-cd34d31e194e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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__find_configuration_pending_delete [0.045412s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_220_drivers_vendor_passthru_methods_get_admin [0.061586s] ... 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-7afe88d1-0ff9-466b-b44e-713eb0e9bf66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.036757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.036114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_221_drivers_vendor_passthru_methods_get_member [0.071677s] ... 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-6ca78dc6-3a7c-4874-9506-105741f3fd47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.042806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_222_drivers_vendor_passthru_methods_get_observer [0.072470s] ... 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-c42282d2-d5a0-44aa-be49-cb4a2e15e52f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.058082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.037841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_223_drivers_vendor_passthru_get_admin [0.067239s] ... 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-2e6a37fa-f521-4b2b-a599-eab2ae075531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [1.423261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.046989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_224_drivers_vendor_passthru_get_member [0.063554s] ... 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-2292dc82-31df-4f6d-b081-f87a0da194a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.048202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.041182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_225_drivers_vendor_passthru_get_observer [0.069208s] ... 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-e654afc1-415d-4753-8fe5-29769b8e0767 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.036351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.152186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.037327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.043861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_226_drivers_vendor_passthru_post_admin [0.060179s] ... 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-f212316e-4893-465d-a252-e17e531e0ccf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.031204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.030957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.053559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_227_drivers_vendor_passthru_post_member [0.065030s] ... 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-5a772af6-5af4-4272-9887-29a0d3640fd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.036574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.043253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.039353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_228_drivers_vendor_passthru_post_observer [0.064083s] ... 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-e5073b3b-1d34-414a-a3d3-9d060e46b4e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_108_owner_manager_can_get_boot_device [0.501089s] ... 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-85408091-7a09-4920-a60b-92efa876a09c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.035891s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.050867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.029704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_229_drivers_vendor_passthru_put_admin [0.067073s] ... 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-a194f885-6991-42ed-8d38-e8fadd95c04a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.055548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.029499s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.027937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.043553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_230_drivers_vendor_passthru_put_member [0.061749s] ... 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-b5bc624c-4f57-4204-973a-7f29864e345d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.027340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.030749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.054831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_231_drivers_vendor_passthru_put_observer [0.072056s] ... 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-8663b024-0bf2-4857-81ef-30bc36d0f75f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.036180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.034798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.062114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.043223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.057854s] ... ok DEBUG util.py:445: {2} 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: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.033606s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.035293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.057403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_234_nodes_bios_get_admin [0.070136s] ... 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-bcf95b45-f04a-4b50-a81e-62c117aadfc1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.039512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.072160s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_235_nodes_bios_get_member [0.062469s] ... 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-95d86886-0c33-4248-915e-dfaf50b393d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.058827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.083970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_236_nodes_bios_get_observer [0.067392s] ... 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-42027ee1-5332-49ac-835e-887546f95467 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_109_lessee_admin_cannot_get_boot_device [0.501068s] ... 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-98691292-638b-433f-8a52-ba044d137f22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.074355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.070169s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_237_nodes_bios_bios_setting_get_admin [0.076653s] ... 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-83bc782c-84ff-48de-9064-f87cbe7de92f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.060603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.083600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.057342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_238_nodes_bios_bios_setting_get_member [0.128241s] ... 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-954fb675-920e-4a57-95f6-c6298b84b98e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.068198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.070087s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.276330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_239_nodes_bios_bios_setting_get_observer [0.194093s] ... 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-74ff466b-216e-44bc-b160-4dd508a5e998 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_110_owner_member_cannot_get_boot_device [0.432491s] ... 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-723a102d-c83d-4015-8d14-9b908ab21585 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_111_lessee_member_cannot_get_boot_device [0.088332s] ... 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-95bac239-bb48-4d68-976c-2d88929975fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_112_owner_reader_cannot_get_boot_device [0.089794s] ... 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-a6239eec-fc58-4f52-a620-f146cf0874d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.341760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.260825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_113_lessee_reader_cannot_get_boot_device [0.142876s] ... 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-f7b57214-d197-4e96-a2c5-0ec775ad91f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_240_conductors_get_admin [0.377145s] ... 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-cd34baec-2fa4-402d-9e53-497eef9d26e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.222341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_114_third_party_admin_cannot_get_boot_device [0.163441s] ... 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-c2abe806-9e8f-4889-adec-601bcd7217e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.288891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_241_conductors_get_member [0.256048s] ... 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-3a77d5d3-bbf8-47fd-ac6b-e61ed3e1e215 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.228840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.249014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_115_owner_admin_can_get_supported_boot_devices [0.290528s] ... 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-14e0e62d-999d-4fbb-a4f1-7f3c7008d1d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_242_conductors_get_observer [0.291307s] ... 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-1d1ecac7-55ea-4b59-b864-fad3a5cf94e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_116_owner_manager_can_get_supported_boot_devices [0.204066s] ... 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-0a79c088-7a3d-4e72-9016-a557e4cb3b68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.371227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.269523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_117_owner_member_cannot_get_supported_boot_devices [0.207563s] ... 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-2d3646a1-7325-4752-bce2-93520920202b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_118_lessee_admin_cannot_get_supported_boot_devices [0.148086s] ... 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-9e8e8f84-3668-4da6-b043-eaf3178e9dda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.321194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.373446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_243_conductors_hostname_get_admin [0.571642s] ... 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-2e50aa1b-6045-48cf-86b3-724d473a6e71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.185754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_119_lessee_manager_cannot_get_supported_boot_devices [0.249805s] ... 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-3b6cb725-349d-478e-920d-f012abc2cd98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_244_conductors_hostname_get_member [0.192655s] ... 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-fe8d2f56-441f-4892-8995-4b74b2ce0161 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.276457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_120_third_party_admin_cannot_get_supported_boot_devices [0.181107s] ... 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-76385678-4137-4024-b1cd-5c2d4351e44a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.309867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_245_conductors_hostname_get_observer [0.195988s] ... 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-0526c966-6da1-478e-a719-a407dee4ab2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_121_owner_admin_can_send_non_masking_interrupt [0.124487s] ... 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-0e1bb1c4-d521-4933-82b4-310f22c9d4a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.313852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_122_owner_manager_can_send_non_masking_interrupt [0.107601s] ... 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-6030e03b-f090-4fbb-a517-74f8a39b40bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_123_lessee_admin_cannot_send_non_masking_interrupt [0.092398s] ... 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-3e6fd9f8-b0b9-4bfd-8427-ec463488671d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.272680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_124_lessee_manager_cannot_send_non_masking_interrupt [0.094039s] ... 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-a0e4b9bb-f585-4ad6-9fe8-b7af64963905 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_246_allocations_post_admin [0.318593s] ... 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-eb9c52db-c98b-4d51-b671-63bf0b2e12ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_125_third_party_admin_cannot_send_non_masking_interrupt [0.100883s] ... 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-f79368a6-62de-4e93-9dcc-76e03e13eaaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_248_allocations_post_observer [0.093034s] ... 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-80d52ee7-0177-4a30-baac-d10742e64e5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.391022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.285895s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_249_allocations_get_admin [0.095484s] ... 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-ba4b75b9-b645-4792-b74d-c28daefb4a9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_126_owner_reader_get_states [0.214324s] ... 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-b0b56e00-f74c-4114-b00f-05b06f1e61c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_250_allocations_get_member [0.099081s] ... 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-07c248ed-039a-425f-ae91-8e65382d48ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.250533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_251_allocations_get_observer [0.093632s] ... 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-aba418c1-0232-4da5-a0c9-190c09ea811e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_127_lessee_reader_get_states [0.203450s] ... 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-4e7c4984-2eb5-4454-b7ab-e12042035489 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_252_allocations_allocation_id_get_admin [0.120074s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/927e8f00-a461-46a6-a225-91f79f876fad WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ccb0d82-8d2b-4f80-a263-0e017e92203e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 927e8f00-a461-46a6-a225-91f79f876fad could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.460840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_253_allocations_allocation_id_get_member [0.114665s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/a70b64f3-f4e0-4663-842b-9d773c150b1d WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0c8a105-c995-4c5e-a6b4-475c6c70c949 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 a70b64f3-f4e0-4663-842b-9d773c150b1d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.291714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.117246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_128_third_part_admin_cannot_get_states [0.239122s] ... 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-8a78d0bf-2531-451d-a1b1-f49efa830253 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_254_allocations_allocation_id_get_observer [0.113517s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/efbab200-508d-4456-8ab6-463853600f6e WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0d3f4c2-721c-4e5a-95da-30427f034950 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 efbab200-508d-4456-8ab6-463853600f6e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.077483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.117511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_129_owner_admin_can_put_power_state_change [0.167853s] ... 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-6a775be0-41ac-41d7-ae58-7996b50c3d40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.241671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_255_allocations_allocation_id_patch_admin [0.207624s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/2668d729-69f2-43e4-8bf1-8af1160fe99d 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-9cc87ebf-3457-4d16-9075-b1e882e751ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 2668d729-69f2-43e4-8bf1-8af1160fe99d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.088618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.062878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.058268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.047698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.050268s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_130_owner_manager_can_put_power_state_change [0.312693s] ... 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-1deeef34-495b-41e5-99e1-4373cdc56fc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.025615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.024797s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.027466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.358983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_131_lessee_admin_can_put_power_state_change [0.154253s] ... 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-4f7e89aa-3506-4cbe-a7df-798982f50f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_256_allocations_allocation_id_patch_member [0.427766s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/3ab73a14-6973-4611-a780-267702bbb30c 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-b01b86ff-012c-4710-9260-6184ee03b2d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 3ab73a14-6973-4611-a780-267702bbb30c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_132_lessee_manager_can_put_power_state_change [0.132179s] ... 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-3272eed0-8bc0-46e9-8c23-2ac4419806b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.278230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.033113s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_133_owner_member_can_put_power_state_change [0.116074s] ... 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-1e389ee8-990a-42b7-b2e7-ac1c04de118a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.042485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_257_allocations_allocation_id_patch_observer [0.264513s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/4771dc73-0d4d-47cd-97b3-97bac1f3793d 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-9b5584a2-29a8-4b18-975e-ed571fad087e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 4771dc73-0d4d-47cd-97b3-97bac1f3793d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.036048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.035964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.432567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.024056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_258_allocations_allocation_id_delete_admin [0.101988s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/c64445a3-f8d5-4d6d-b732-0cf3769644d1 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73172e99-6df6-433b-b4b4-7e67941e7683 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 c64445a3-f8d5-4d6d-b732-0cf3769644d1 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.033183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.044765s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_259_allocations_allocation_id_delete_member [0.080021s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/9bfd885d-ed26-4dbd-9b03-dd025aabfe7a GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f69543d-7bf5-4efb-af95-c2b61eb62e19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 9bfd885d-ed26-4dbd-9b03-dd025aabfe7a could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.035013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.028410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.025690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_260_allocations_allocation_id_delete_observer [0.082274s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/c9bdd77d-04ba-4f1b-ba8e-7a656a4d3bde GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c81f92c-a9a3-4eea-ac07-cc1ea9ca02b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 c9bdd77d-04ba-4f1b-ba8e-7a656a4d3bde could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.054694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_261_nodes_allocation_get_admin [0.089677s] ... 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-a828cb52-ff06-4f9e-9012-d23d9fb871bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_rpcapi.RPCAPITestCase.test_do_node_service [0.064949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_262_nodes_allocation_get_member [0.082277s] ... 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-de72ffb0-bd4b-4aeb-bf36-bee8c06c9acb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.074799s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.052824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_263_nodes_allocation_get_observer [0.077277s] ... 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-effd0963-f530-4ef6-aa1c-4d79394f4b42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_134_lessee_member_can_put_power_state_change [0.602641s] ... 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-bb6357fe-1c3f-476b-aee5-e4a04af2b6ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.559838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_264_nodes_allocation_delete_admin [0.120640s] ... 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-02445dea-1385-49c2-b1ae-8c4ef4e57b9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.153870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_135_owner_reader_cannot_put_power_state_change [0.084403s] ... 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-bef50a81-5d04-44b8-8788-aa7805751123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.048877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.032008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_136_lessee_reader_cannot_put_power_state_change [0.090031s] ... 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-170377aa-2195-4fba-b0f9-f40ef5dfefe1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.031035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.040363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.037149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.061737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.050604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.028455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_265_nodes_allocation_delete_member [0.416883s] ... 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-1e7e793f-1bf0-4a80-ba4a-d524846b717f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.075669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.483589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.089005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_137_third_party_admin_cannot_put_power_state_change [0.440293s] ... 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-d3419607-32bf-488c-9f83-898c968424de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.092972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_266_nodes_allocation_delete_observer [0.316129s] ... 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-36c32d1b-f8c1-4dda-91c1-7d896a36f54b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.127260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.058637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_138_owner_admin_can_put_boot_mode_state_change [0.266337s] ... 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-ec7a9947-de64-45de-8bdf-8a2d83572674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.087642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_267_deploy_templates_post_admin [0.180565s] ... 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-ea417aca-a439-4f52-8a51-9948ca51be69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.068911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_268_deploy_templates_post_member [0.078201s] ... 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-83fd2401-218d-4654-af12-4576e6fd9273 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_139_owner_manager_can_put_boot_mode_state_change [0.184482s] ... 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-08d50cdc-86b6-4829-a2f8-bfbfd49cf43c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.076813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_269_deploy_templates_post_observer [0.083877s] ... 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-01281e9e-b78b-46aa-ac3a-066d524d2301 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.082589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_270_deploy_templates_get_admin [0.064361s] ... 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-8cbd67c4-a075-4093-969c-8c73694c2d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.058989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_271_deploy_templates_get_member [0.060914s] ... 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-3cb3d081-cc4c-4c63-a6d0-a3062b604ec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_140_lessee_admin_can_put_boot_mode_state_change [0.208501s] ... 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-fa6a27ed-bd25-4722-b383-47f268031db5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_272_deploy_templates_get_observer [0.063566s] ... 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-d93bdd2e-35f4-424e-bddb-2b7a5cb8e1f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.102060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.838942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.050607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_273_deploy_templates_deploy_template_id_get_admin [0.062073s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/09b22e5d-3a63-4375-8eea-062561b8d56a WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8c809e4-1430-400a-9d0b-d541a7a05d0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_274_deploy_templates_deploy_template_id_get_member [0.060716s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/e2ba0fd8-c532-4c7c-bd04-c22854e4bcd5 WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-820d418d-5280-414e-b686-d87fad3bf1f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.085879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_141_lessee_manager_can_put_boot_mode_state_change [0.204202s] ... 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-546fc194-aba7-41aa-95cc-88c97126b7e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_275_deploy_templates_deploy_template_id_get_observer [0.063450s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/222cc60b-62e3-477e-8703-e1422a5ce4ef WITH {} GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8923c38-a91a-432f-bba4-595d1b6dfdb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.080462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_276_deploy_templates_deploy_template_id_patch_admin [0.060918s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/7a9a54eb-70b4-41d7-b969-30ef3179e868 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-989f94a1-b4a6-4677-9807-ae802dcb3f88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.233785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.082013s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_277_deploy_templates_deploy_template_id_patch_member [0.069744s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/77718e15-1f69-4a1a-8554-efe5dfa801ff 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-73215948-a622-4a3c-a8c8-ce3b7bddb727 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.056948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_278_deploy_templates_deploy_template_id_patch_observer [0.066710s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/f3debcd4-6627-4648-9ab0-ec568d31a43b 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-b1200577-8017-4983-a92b-c3b31af64452 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_142_owner_member_can_put_boot_mode_state_change [0.242358s] ... 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-61fff7d9-a093-4b4b-be2c-49449e5cde0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.091471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_279_deploy_templates_deploy_template_id_delete_admin [0.083050s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/2415925d-901b-452e-8ee2-51f1695adb7e GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1b1449a-dbe5-4bfe-8d06-806d3798b8d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.264534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.086947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_280_deploy_templates_deploy_template_id_delete_member [0.095557s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/e29a7431-b4f5-40f2-a058-122294ca0074 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e72a2360-b261-45a0-88d5-98edd9bda49e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.036777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.023773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_143_lessee_member_can_put_boot_mode_state_change [0.204141s] ... 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-0110d28a-3ccf-487a-9d81-94611e81f946 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.027380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.029503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.025942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.030953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.031114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_281_deploy_templates_deploy_template_id_delete_observer [0.183740s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/e62f282a-26e8-467b-ba97-f746076c2248 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7eb0fafa-b5d3-42d7-aa64-f31e89d73429 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.238659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.047762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_144_owner_reader_cannot_put_boot_mode_state_change [0.183146s] ... 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-efe69292-f5fd-4331-9011-293437eb29e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.044650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.026426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.030672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_282_chassis_post_admin [0.174339s] ... 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-3b78b508-c094-4448-8afd-a7b68937a658 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.031143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.026827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_145_lessee_reader_cannot_put_boot_mode_state_change [0.179732s] ... 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-00249e98-ceac-442a-8976-b66f6784c438 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.198429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.025429s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.025696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.032240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.027875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.030893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_283_chassis_post_member [0.191404s] ... 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-221e6abb-075d-4635-81ae-e0e82d2a41a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.035287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.031936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_146_third_party_admin_cannot_put_boot_mode_state_change [0.206810s] ... 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-110414f4-e0cd-4a11-87b0-340c3e8cff25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.211969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.026526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.028905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.029423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.097912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.041026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.031471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.030763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.080268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.028151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_284_chassis_post_observer [0.269633s] ... 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-094b320d-8d7a-4d3b-9a03-f5a97cbce20d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.025662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.029443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_147_owner_admin_can_put_secure_boot_state_change [0.298779s] ... 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-37784823-4819-439b-9592-956ca1c0bc28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.058888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.134430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.044065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.042973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.040393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_285_chassis_get_admin [0.297739s] ... 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-20c69bb2-0375-403a-b947-78c1508b47c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.057298s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.196002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.047279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.071505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.049289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.206281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.060475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_148_owner_manager_can_put_secure_boot_state_change [0.445021s] ... 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-b5d4cace-54db-4944-be37-78ad87a1ac55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.041317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.181372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.238183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.053028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.053229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_149_lessee_admin_can_put_secure_boot_state_change [0.399365s] ... 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-6ec9e68b-0486-420c-b8a8-e508775d66b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.040762s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.041981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_reserved_options [0.043724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.371317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.049940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.051365s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.109211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.044563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_150_lessee_manager_can_put_secure_boot_state_change [0.273442s] ... 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-6a961382-2c2f-4632-b376-d57c753efd1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_power.IBMCPowerTestCase.test_validate [0.045334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.043491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.042002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.045883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.019350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.123150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.019136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.024641s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.020016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_286_chassis_get_member [1.108982s] ... 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-cd05e4df-a403-40f4-9a4e-5d843e5616ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.034843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_151_owner_member_can_put_secure_boot_state_change [0.247492s] ... 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-9efa383b-a4fc-44ee-ba7f-46eec3f28dc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.108407s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.028355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.028974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.036362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.028185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.109858s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.031647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.066696s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.047727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_152_lessee_member_can_put_secure_boot_state_change [0.186977s] ... 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-4b132895-684d-412f-afd9-a47f2482e4c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.032588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_287_chassis_get_observer [0.284536s] ... 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-079de7a8-25e8-42d4-9032-65ae58512083 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.030771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.031753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_153_owner_reader_cannot_put_secure_boot_state_change [0.086052s] ... 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-704caecf-537a-4cda-8a58-b50166917257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.028761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.136036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.036607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_154_lessee_reader_cannot_put_secure_boot_state_change [0.080238s] ... 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-fafadb68-f817-49ef-b5e2-8a9cd6a871f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.029712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.030879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.116678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.030122s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_155_third_party_admin_cannot_put_secure_boot_state_change [0.082424s] ... 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-c2035d48-f38f-484e-90eb-c694c7a0e1b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.028193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_288_chassis_detail_get_admin [0.248088s] ... 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-62c727f3-730d-47ce-a14e-36c122a685e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.030267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.028105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_156_owner_admin_can_change_provision_state [0.098566s] ... 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-6265a163-4214-485c-b581-fa3174c1f392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.030147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.130924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.028318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.028126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.030512s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_157_owner_manager_can_change_provision_state [0.105230s] ... 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-71c3e7f5-a7c1-4181-9f39-02581173e7a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.028937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.030147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.153893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.028687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_158_owner_member_can_change_provision_state [0.081083s] ... 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-bbf01f32-506d-4e56-9d97-5d193e4af4f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.029409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.030727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.036900s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_159_lessee_admin_can_change_provision_state [0.097527s] ... 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-23eef6e3-4aec-4a1f-a928-0fb907c7200f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.134909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.044437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_289_chassis_detail_get_member [0.413255s] ... 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-5232b978-a9b7-4084-b17d-12d5dfa2ba2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_160_lessee_manager_can_change_provision_state [0.081097s] ... 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-a047c810-2636-492a-a360-2312ab46f4cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.029873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.025697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.026567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.025300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.127197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_161_lessee_member_cannot_change_provision_state [0.080666s] ... 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-3ee1e5b4-084c-464c-b98a-91eed400c73d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.024851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.024903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.038981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_162_third_party_admin_cannot_change_provision_state [0.091872s] ... 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-3fb774e8-ef94-4edb-9928-56a3522f0525 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.088921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.040077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.037959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_290_chassis_detail_get_observer [0.265940s] ... 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-53e2b656-e6a2-4cfb-8c6f-f5a725095b4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_163_service_can_change_provision_state_for_own_nodes [0.084108s] ... 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-0ab71fae-76c9-4e73-a3d4-c9803f951ea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.040107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_164_service_cannot_change_provision_state [0.075096s] ... 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-04678e31-33ab-4611-a1ce-8ef39248acd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.TestRBACScoped.test_scoped_canary_291_chassis_chassis_id_get_admin [0.084275s] ... 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-82b1f1c6-99d0-40f4-9f24-800959a4f54c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.040316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.028102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.036336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.196562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_292_chassis_chassis_id_get_member [0.068616s] ... 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-a84d6c13-ec39-439d-9d50-4826cfc5bf80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_165_owner_admin_can_set_raid_config [0.086312s] ... 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-cf869f8c-ca6b-4af6-9444-95d483e50d36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.029954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.026158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_293_chassis_chassis_id_get_observer [0.077090s] ... 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-032d4ac2-eb7e-4b79-b4ee-3e3d930a6628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACProjectScoped.test_project_scoped_166_owner_manager_can_set_raid_config [0.080400s] ... 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-693c4dae-170f-4818-865f-c564999a9a80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.172224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_167_lessee_admin_cannot_set_raid_config [0.078587s] ... 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-776d69fe-1e03-4fd2-9c77-5f7b14856194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScoped.test_scoped_canary_294_chassis_chassis_id_patch_admin [0.112961s] ... 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-9ddb7e5b-08b8-496c-8176-076c430c9b58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.029119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_168_lessee_manager_cannot_set_raid_config [0.072003s] ... 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-16542502-fedb-48a5-bac0-78398ec67ba4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.034164s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.128969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_295_chassis_chassis_id_patch_member [0.101618s] ... 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-5e2c5a82-17fc-462c-8da1-9933b15bce75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.045230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_169_owner_member_can_set_raid_config [0.072951s] ... 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-1e2b101b-b138-4991-bd1b-645a2a643e50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.055268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.029623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_296_chassis_chassis_id_patch_observer [0.084613s] ... 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-1fc26bd9-3498-493b-9e47-25b926e37c94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.api.test_acl.TestRBACProjectScoped.test_project_scoped_170_lessee_member_cannot_set_raid_config [0.082874s] ... 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-bef35808-c062-4dac-a71e-09ebb1578f22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.032397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_297_chassis_chassis_id_delete_admin [0.065961s] ... 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-e552fc3a-2c69-4377-8368-271922317102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.037492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_298_chassis_chassis_id_delete_member [0.061761s] ... 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-5b47e94e-fd61-4913-b3af-7d843e01ecda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.227603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_171_third_party_admin_cannot_set_raid_config [0.131642s] ... 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-d5135552-95de-466f-bc4a-6bae4397065e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_299_chassis_chassis_id_delete_observer [0.066841s] ... 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-d70773cd-e24a-4cba-94f3-7f1ee49492b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScoped.test_scoped_canary_300_node_history_get_admin [0.074130s] ... 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-c726b0fc-b929-4590-8272-c8990b92f232 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.154859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_172_service_cannot_set_raid_config [0.176570s] ... 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-a4d74291-5d2f-4e8b-b7d5-c7f0211b4a92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.252603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_301_node_history_get_member [0.068065s] ... 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-f2e41c2d-cddd-4b8c-b066-d1d0958d83d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.047621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_302_node_history_get_observer [0.077714s] ... 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-69b28a84-89cf-4200-853a-cd1dcf48e151 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.133401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.068112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.062760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_173_owner_admin_can_get_console [0.211374s] ... 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-6b780196-2e9a-4611-a851-9fe2e50fa443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScoped.test_scoped_canary_303_node_history_get_entry_admin [0.135956s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e21af63a-00fb-41dd-a3cd-e0cd887592e8 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bf16c87-41f0-4fc6-bbb3-67927805500b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.154744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.121587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_304_node_history_get_entry_member [0.084340s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e17cd372-36f9-46e1-b4d4-e1677b11d094 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d3ec0f7-d64c-4808-bd96-7207adb00340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.089451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.076973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_305_node_history_get_entry_observer [0.073717s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2bc634b9-174d-415a-b93b-2885cc3a08a7 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8eb37602-bf58-41dc-9815-adbb265efc61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_174_owner_manager_can_get_console [0.195640s] ... 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-75b6c8c2-7ce5-4270-86e6-06a2b4ad0df9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_hooks.TestContextHook.test_context_hook_after_add_request_id [0.050241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.092428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.065671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.027260s] ... 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: {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_auth_token_info [0.042267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.067799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_175_owner_service_can_get_console [0.133311s] ... 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-fc56dd2a-ac21-435b-8591-1429aea4d600 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.044872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.124991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.037897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.081810s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.038035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_176_lessee_admin_cannot_get_console [0.087974s] ... 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-35b52e5a-420b-4c4c-8ba2-25963fdfb70d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.073210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.036369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.030733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.038318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.145338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.034948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.029228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.027742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.052010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.082734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.107212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.037328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.026475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.023832s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.030345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.071438s] ... 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-e1b322cf-dbb2-4883-895d-85b3a2c1ad3f 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: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.023311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.035526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.066071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.028447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_177_lessee_manager_cannot_get_console [0.345225s] ... 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-c04e4979-7c19-4c71-a8fa-b6b56fbf6831 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_chassis.DbChassisTestCase.test_update_chassis [0.027230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.125888s] ... 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-181b8c0c-25b7-4d3c-a521-c50ee6e7d028 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.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.059356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.026830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.024866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_178_owner_member_can_get_console [0.080871s] ... 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-ecfa710d-f311-47ff-a815-d02add6eaeb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.053065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.033802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.027295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.099763s] ... 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-8799a52c-7887-493d-981b-4860250272a8 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: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.025408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_179_lessee_member_cannot_get_console [0.084504s] ... 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-bd8a5c4d-9cd9-4d24-8596-0fc53c259e79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.082587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.034718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.029441s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.053030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.102780s] ... 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_acl.TestRBACProjectScoped.test_project_scoped_180_owner_reader_cannot_get_console [0.074731s] ... 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-9ba6f9db-3ced-4682-aea0-b3c3dfcb1204 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.027860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.026822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.070469s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.032959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_181_lessee_reader_cannot_get_console [0.084871s] ... 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-140c35f3-033b-4a2d-8c26-388de34efc34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.032596s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.061759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_destroy_node_inventory_by_node_id [0.033438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.147799s] ... 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-64817861-43f1-4e34-8c57-aa08efa161fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_get_inventory_by_node_id [0.026986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_182_third_party_admin_cannot_get_console [0.093608s] ... 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-597d8fc5-82d1-4ddc-be94-28d446f392fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.031223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.077978s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.030960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.026385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.064848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_183_owner_admin_can_set_console [0.102379s] ... 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-715f0ad0-4844-4f8b-ae7b-b2f4021dd8db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.145181s] ... 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: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.037671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.027930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.030858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_184_owner_manager_can_set_console [0.076825s] ... 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-388145d0-346a-4bd7-ad97-691c3e8f4d65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_args.ValidateDecoratorTest.test_and [0.071241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.031925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.027798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.029832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_185_lessee_admin_cannot_set_console [0.077707s] ... 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-47d638b8-29f1-46a6-9d20-ffc280c829c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.common.test_args.ValidateDecoratorTest.test_boolean [0.097801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.033561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.026477s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.026420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_186_lessee_manager_cannot_set_console [0.091683s] ... 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-d0f9dd6b-a2e6-4b7b-aef7-55d7726e3a8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.029427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.289649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.087536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.027482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.036832s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.067662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.029915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.061009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.031538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.030626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.025791s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.052358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.085496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.025667s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.026999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_187_owner_member_can_set_console [0.227258s] ... 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-9072dfa3-964d-45fd-aed6-be19f5676d51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.028949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.074398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.029429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.042195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.121980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.027112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.029655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.058089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.029560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.026006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.042485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.025472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.026929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.022709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_188_lessee_member_cannot_set_console [0.218818s] ... 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-b959a8a2-621a-48a2-8342-a41480a34b88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.027619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.026601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.171839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.026168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.019268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.025344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.021699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.024718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.019796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.028815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.022337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.041721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.062404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.035614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.175566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.027721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.062527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.043123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.024148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_189_owner_service_can_set_console [0.287922s] ... 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-8c336a7b-45c8-42f2-96e1-7488ab00713d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.025350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.028848s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.025226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.184777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.037485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.025410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_190_service_cannot_set_console [0.172652s] ... 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-e23e0f90-79f2-43b3-a6c3-312ec4ef17a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.050311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.051996s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.132558s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.061596s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.063375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.047386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_191_owner_admin_cannot_get_vendor_passthru_methods [0.182888s] ... 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-962f90c3-d179-4ca9-87a3-4efd8750243a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.423791s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.025202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.082344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.048938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.049809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.050602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.055559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.146984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.048365s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.064333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_192_owner_manager_cannot_get_vendor_passthru_methods [0.187675s] ... 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-b219ea2e-9a47-4263-8840-bdcadba98e97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.047195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.064941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.048260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.135655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.070158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.052748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.112217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_193_owner_service_cannot_get_vendor_passthru_methods [0.224097s] ... 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-cd0ae6c9-3581-4dc0-8ca4-1b08dd924406 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.065839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.050588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.231007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.104833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.027226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.044364s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.025883s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.038752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_194_owner_member_cannot_get_vendor_passthru_methods [0.164928s] ... 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-b1058ca8-e287-4a91-a3d0-dd179228a12b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.029236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.026314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.041916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.111100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.026376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.035940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.031149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.023463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.092410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.024747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.081105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.027148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.056573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.060315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.051497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_195_owner_reader_cannot_get_vendor_passthru_methods [0.220001s] ... 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-af352f3a-ddc4-4564-ab22-f98878ec72ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.070786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.048815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.077319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.058604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.059986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.051664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.084501s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.066190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.058630s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.067661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.079591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.060493s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.070893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_196_lessee_admin_cannot_get_vendor_passthru_methods [0.299402s] ... 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-92d98699-0e64-4810-96d6-caad5ee7ae36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.071287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.053931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.058614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.036123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.028349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.076298s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.060803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.035582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.051914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.078359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.051604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.061800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.052963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_197_lessee_manager_cannot_get_vendor_passthru_methods [0.233534s] ... 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-9ab88b47-e34b-4f97-afa0-6b66b29c5144 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.053862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.063450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.141665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.058055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_198_lessee_member_cannot_get_vendor_passthru_methods [0.119017s] ... 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-c8df588e-74ed-4e21-b627-c43b65a25745 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.063491s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate [0.063903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.044290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_199_lessee_reader_cannot_get_vendor_passthru_methods [0.070922s] ... 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-ec7f8c74-e0f8-4a38-8bcf-1177141658fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.160861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.043890s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_fileurl [0.061625s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.044492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_200_owner_admin_cannot_get_vendor_passthru [0.081938s] ... 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-a8bd62a3-acc8-4339-a282-0da295e31395 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.IloManagementTestCase.test_add_https_certificate_httpurl [0.058213s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.024635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.018889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.035974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_201_owner_manager_cannot_get_vendor_passthru [0.078828s] ... 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-100282ba-76cc-4397-bfb9-4abb2b0510de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.IloManagementTestCase.test_add_https_certificate_url_exception [0.058796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.043428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.069768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.211484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_202_owner_service_cannot_get_vendor_passthru [0.072753s] ... 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-fd3db740-30d0-4565-98c9-ee45edf0fb91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.033607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.039285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.059967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.032653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_203_owner_member_cannot_get_vendor_passthru [0.074408s] ... 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-901b3af1-b77d-4d48-8640-b354c22dae84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.035065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.024782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.079691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_204_owner_reader_cannot_get_vendor_passthru [0.074681s] ... 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-0b2336a9-2f91-45f2-aade-f11aa4ab1bcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_filename [0.028129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_qs [0.024169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.054554s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_without_qs [0.022258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_205_lessee_admin_cannot_get_vendor_passthru [0.093948s] ... 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-8c6ba93b-52be-4b50-a0ea-a20a825f236a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_image_publisher.SwiftPublisherTestCase.test_publish [0.034586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_create_csr [0.061776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test_unpublish [0.044825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.055923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_206_lessee_manager_cannot_get_vendor_passthru [0.072189s] ... 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-4861ac71-01ce-45b5-aced-f5df3eca4c02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_image_service.FileImageServiceTestCase.test_download_copy [0.033033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.028230s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.372624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.056134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.025107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_207_lessee_member_cannot_get_vendor_passthru [0.074130s] ... 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-4c88a264-6efd-46ab-87b3-53279a446d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_image_service.FileImageServiceTestCase.test_download_symlink [0.030541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.028015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.068998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.022689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_208_lessee_reader_cannot_get_vendor_passthru [0.072496s] ... 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-f152f987-a45f-45b7-ac5e-31607d8ba26d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.019782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.022841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.022590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.021496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_209_owner_admin_cannot_post_vendor_passthru [0.095712s] ... 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-5e5462bf-6e1c-4372-8448-8b824e8549c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_image_service.ServiceGetterTestCase.test_get_http_image_service [0.023274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.215145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.027543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.023757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_210_owner_manager_cannot_post_vendor_passthru [0.082353s] ... 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-1c8485d8-bd6a-4028-ac62-5b4f69878780 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test__create_root_fs [0.028005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.085149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.028885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.022134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_211_owner_service_cannot_post_vendor_passthru [0.074718s] ... 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-4b0ddd63-938c-4b3d-866d-db098f359099 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test__get_deploy_iso_files [0.028319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.077128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.026152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.028767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_212_owner_member_cannot_post_vendor_passthru [0.087352s] ... 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-1060c202-8ca0-4766-90af-892037012371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.061504s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.031321s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.025444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.057780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.026046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_213_owner_reader_cannot_post_vendor_passthru [0.065297s] ... 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-8f626dc6-0ed4-4496-9bbd-b5292c65a1c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.026409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.060151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.034926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_214_lessee_admin_cannot_post_vendor_passthru [0.067143s] ... 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-dcff3492-db05-4a82-9093-8f8f64dd8773 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.066337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_215_lessee_manager_cannot_post_vendor_passthru [0.099134s] ... 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-ed5f441a-2f87-4028-ae60-ed3f2d381870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.615105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.077402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_216_lessee_member_cannot_post_vendor_passthru [0.082563s] ... 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-73c2f5a2-ff63-4c4f-bc29-92e2b798fc84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.081218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.045622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.047909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_217_lessee_reader_cannot_post_vendor_passthru [0.105123s] ... 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-aa32cca5-531e-437f-b85a-d355973ed82a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.134747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.060685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.056574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_218_owner_admin_cannot_put_vendor_passthru [0.137473s] ... 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-a8c5cbc3-a5c6-40ac-8184-aeb74db6dd7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.117924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.057245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.530738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.060193s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.047397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.074139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.046414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.172042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.053751s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.066423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.136702s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.073740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_219_owner_manager_cannot_put_vendor_passthru [0.353258s] ... 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-107d18b8-cec7-4db7-9810-f05ee8101fea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.040819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.059225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.050323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_220_owner_service_cannot_put_vendor_passthru [0.094968s] ... 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-3b74efc3-c6c3-4575-b7f0-a19a5f525e26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.131671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.030825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.057670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.123616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.027400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.042006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_221_owner_member_cannot_put_vendor_passthru [0.089168s] ... 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-f1209ad8-ab18-4b13-a1d4-ef4d5e368c1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.027072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.023983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.049571s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.036604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.128149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_222_owner_reader_cannot_put_vendor_passthru [0.096073s] ... 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-e9e54379-8482-46eb-8083-6b2def42aacc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.041741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.028173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.102754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.049230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_223_lessee_admin_cannot_put_vendor_passthru [0.092780s] ... 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-6c2fa4b0-a5f1-4921-ad33-513dd9d3aa53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.051659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.133307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.039667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.031666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_224_lessee_manager_cannot_put_vendor_passthru [0.074248s] ... 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-e437f643-754a-4fa1-aff4-0cd0e45cf521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.022495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.019807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.098042s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.097582s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.023488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_225_lessee_member_cannot_put_vendor_passthru [0.074559s] ... 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-074b487b-97f0-4be7-8465-0d003af39156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.025473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.056666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.028336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.099314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.074576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_226_lessee_reader_cannot_put_vendor_passthru [0.091558s] ... 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-8eda3d19-58f9-4a9b-9404-465adcbdbfe3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.066692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.055609s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.061245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.059888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.051604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_227_owner_admin_cannot_delete_vendor_passthru [0.120454s] ... 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-38b19c1c-a2ea-484e-9cc6-7dee1ae9dddd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.110084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.082004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.067424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.047199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_228_owner_manager_cannot_delete_vendor_passthru [0.103925s] ... 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-2d529a76-e5d2-44f7-a8a3-627ae5188ca4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.054115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.046377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.108035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.041527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.056760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_229_owner_service_cannot_delete_vendor_passthru [0.099043s] ... 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-6369b046-e267-463e-ab31-4b2572c01d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.043053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.078450s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.068282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.044893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.049883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_230_owner_member_cannot_delete_vendor_passthru [0.093578s] ... 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-be0afc6b-70a2-487a-8531-3de90aa37a89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.068670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.110050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.052437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.071919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.073292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_231_owner_reader_cannot_delete_vendor_passthru [0.150610s] ... 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-0aab3f88-c384-47ab-9a34-2fe6db205e20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.183106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.213666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.078286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_232_lessee_admin_cannot_delete_vendor_passthru [0.174751s] ... 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-06029644-fde0-45bb-9425-69ad22df341c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.065908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.112626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_233_lessee_manager_cannot_delete_vendor_passthru [0.084974s] ... 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-b775760c-a788-450f-be1d-b4180e4fe908 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_234_lessee_member_cannot_delete_vendor_passthru [0.073833s] ... 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-3e6316b8-6853-4893-86d3-ae8b3f46e362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.118022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.075905s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.070131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_235_lessee_reader_cannot_delete_vendor_passthru [0.227594s] ... 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-20894b70-7eff-4d35-898b-e15e662fda66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_236_owner_reader_get_traits [0.082926s] ... 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-1a8e392e-c547-458d-aba1-2be5ee7461b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.142332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_237_lessee_reader_get_traits [0.081084s] ... 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-57293fa0-4581-42c5-a979-603bd0148cc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_238_third_party_admin_cannot_get_traits [0.078598s] ... 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-5d093962-cf46-4bc0-8309-25b7ad465b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [0.873760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.647077s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_239_owner_admin_can_put_traits [0.081952s] ... 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-4cae26f0-6af0-4f13-a5b7-eb1093e214dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.265665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_240_owner_manager_can_put_traits [0.082749s] ... 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-efeff754-76be-421b-b25c-5bfd0dc18a91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.153700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_241_owner_service_can_put_traits [0.087960s] ... 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-e9d3084b-6822-4fd3-845a-d58f5848b92f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.067067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.161535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.073313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_242_owner_member_cannot_put_traits [0.095886s] ... 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-62702ae9-2fd8-4988-b9c1-5eb1fb71f03d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.108337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.063045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_243_lessee_admin_cannot_put_traits [0.082830s] ... 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-51787a46-b9e2-41b9-a79d-dd9526168035 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.103045s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.111201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_244_lessee_manager_cannot_put_traits [0.088999s] ... 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-3c8048ce-6cf5-47d8-b9e1-57392af32b28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.067647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.055341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_245_lessee_member_cannot_put_traits [0.078245s] ... 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-12254df8-e1b2-405f-bbf3-cf06a5d02e62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.061328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.619460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.045431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_246_third_party_admin_cannot_put_traits [0.090323s] ... 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-ba223da5-17ef-4b57-9a0d-ad79cbd0b960 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.057789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.218634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_247_owner_admin_can_delete_traits [0.081602s] ... 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-62f2b42f-9f7d-486c-80e3-e7e7845374b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.064592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.051624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_248_owner_manager_can_delete_traits [0.085914s] ... 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-f8e577de-de54-45b0-a2cd-99084fee7531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.047159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.026530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_249_owner_member_cannot_delete_traits [0.092513s] ... 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-e9e85a2c-767d-4674-bdad-b1cb01cc9365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.030617s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.206614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.029617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.030104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.025376s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_250_lessee_admin_cannot_delete_traits [0.085930s] ... 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-17c1966e-7258-4039-8a3f-109a48975e27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.029447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.435292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_251_lessee_manager_cannot_delete_traits [0.077731s] ... 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-60cb0cf3-f5da-4f97-9527-e94099e3cd77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.057599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.054028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_252_lessee_member_cannot_delete_traits [0.091611s] ... 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-2322c4e6-f712-45f3-99b0-57e2e6165457 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.051941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.220290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.047346s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.084690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.049628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_253_third_party_admin_cannot_delete_traits [0.170280s] ... 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-1ce772e8-26ce-4f28-8b9a-fd183e43f737 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.056812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.054090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.081851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.034466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_254_owner_admin_can_put_custom_traits [0.176223s] ... 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-1daa91f4-2e76-4fdf-9278-1a348d590669 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.039771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.063364s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.351696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_255_owner_manager_can_put_custom_traits [0.134661s] ... 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-5e56f639-06ab-41bf-b0f4-54d9a6bc9179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.081907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.091770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_256_owner_member_cannot_put_custom_traits [0.077834s] ... 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-6a1daf0b-978a-4e40-a8e6-fb3494ef4d71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.080750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.089809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.776688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_257_lessee_admin_cannot_put_custom_traits [0.096836s] ... 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-1e57e7ce-6d1b-44eb-b48a-5cdca9eeefeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.089312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.097546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.054003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.107270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.053508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_258_lessee_manager_cannot_put_custom_traits [0.174866s] ... 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-56386ffd-d9b0-4e04-9aa8-1fc2cea68a67 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.047799s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.052588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.112677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.048028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_259_lessee_member_cannot_put_custom_traits [0.170832s] ... 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-0c6c9408-bcbd-4085-ac77-9a418ccc96c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.053325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.106881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.052909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.053480s] ... 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.045429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.053884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_260_third_party_admin_cannot_put_custom_traits [0.139712s] ... 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-2c4e881e-a25f-4e1e-8783-2a43352dfafa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.044804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.057199s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.048978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_boot_mode.BootModeTestCase.test_boot_mode [0.058808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.064969s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_extra_hardware_with_errors [0.054983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_file_url [0.043907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_off [0.055854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_http_url [0.039444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.046386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_on [0.071986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.803846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.040749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_no_data_received [0.048769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.024874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.068078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.027206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.030395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.039858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_valid_extra_hardware [0.074492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_261_owner_reader_get_vifs [0.413122s] ... 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-94d2f869-cdae-4d3b-8360-35a91d310c5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.PolicyInCodeTestCase.test_creds_03 [0.025392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.026798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.025259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.023547s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.028294s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_interface_not_in_all_interfaces [0.079052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.049456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.027557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.026810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_chassis_id_subtype [0.061410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.050835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.025929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.037022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.044536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_port_id_subtype [0.061303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.026781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_262_lessee_reader_get_vifs [0.220825s] ... 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-33545967-1f0d-4a77-90a8-0b5a667cb3f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.045335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.030227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.026357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.044137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.033633s] ... 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.114643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.032701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.026911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.024793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_263_third_party_admin_cannot_get_vifs [0.195783s] ... 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-613b02ac-70c0-48fd-b1e1-b28debc356e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.027119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.057959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_lldp_none [0.160708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.229239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.066594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.053063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_no_port_in_ironic [0.105865s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.036577s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_264_owner_admin_can_post_vifs [0.150471s] ... 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-962358be-b2ef-4f56-aaeb-00c2cfca36de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.068827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.039722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_with_default [0.056270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.040706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_port_id_subtype_mac [0.120924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.043898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.062917s] ... 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.024932s] ... 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.024891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.057242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.040058s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_265_service_can_post_vifs_for_own_project [0.225603s] ... 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-b92a7650-2ed2-40c7-a1d9-ce9ccd832030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.052187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.038503s] ... ok 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.155633s] ... 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.029538s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.070753s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.045719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.052537s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.045624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_valid_data [0.171442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.060011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.070992s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_266_service_cannot_post_vifs_for_other_project [0.233943s] ... 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-8a817d40-2f22-4db3-941a-ecc176708979 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.073788s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.085622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.058105s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.046039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.031781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.048939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_physical_network.PhysicalNetworkTestCase.test_physical_network [0.195221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.048384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.052114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.027813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_267_owner_manager_can_post_vifs [0.248656s] ... 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-725066d5-d931-4600-b0f5-eb8633d41268 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.052848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.069393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.036345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.061680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.052897s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_multiple_new_root_devices [0.214541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.040303s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.057393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_new_root_devices [0.059712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.052341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_previous_inventory [0.050010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.068635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.100064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_serials [0.060119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.053978s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_root_device_already_set [0.046709s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.029549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_268_lessee_admin_can_post_vifs [0.379523s] ... 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-485c91e6-2e68-41a9-8984-40a89f00d88f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.139596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.036237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_root_device_found [0.059420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.035873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.032668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ramdisk_error.RamdiskErrorTestCase.test_ramdisk_error [0.065581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.092038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.GetInterfacesTestCase.test_get_interfaces [0.026216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.033367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.028400s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.026497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_269_lessee_manager_can_post_vifs [0.183306s] ... 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-ff2e3278-b4ce-4856-b4b6-cbfb4a8cd214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_active_interfaces [0.076247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.028070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.093576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.025723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_all_interfaces [0.055686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.054443s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_no_pxe_fallback_to_all [0.029157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_nothing_to_add [0.024816s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_pxe_only [0.033408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.171001s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_ok [0.103174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_270_owner_member_can_post_vifs [0.234940s] ... 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-f80a2fc8-3b0f-4113-8c64-1d0006393f00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.097187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.289042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.032247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.023278s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_unversion_url [0.118436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_271_lessee_member_cannot_post_vifs [0.178553s] ... 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-c6b1f378-d9a6-41af-b03d-b96671097aaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.046004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.123313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.027395s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_disallowed [0.073351s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.025142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.021496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.020701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_272_owner_reader_cannot_post_vifs [0.140215s] ... 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-d75244ed-d22c-4c1c-a2d0-6aa779994ab0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.019954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.026594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.140318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.026744s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_ok [0.156969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.022202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.022417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.066186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_273_lessee_reader_cannot_post_vifs [0.206740s] ... 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-ad0116b2-f8b7-4ce5-97a9-96fad18ea4fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.054650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.174767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.172946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.074541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.120504s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.048476s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.026284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_274_third_party_admin_cannot_post_vifs [0.167866s] ... 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-b02c0104-6963-473d-b965-a1cf222a43ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.032604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.187365s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.021032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.022016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.025837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_redfish_properties [0.137929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.022051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_275_owner_admin_delete_vifs [0.131533s] ... 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-156fd9ec-41f6-4ea6-b323-fd1ffe90b218 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_safe_rstrip [0.024223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.050135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.023473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.020945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.023048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.056720s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.021838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_276_owner_manager_delete_vifs [0.121755s] ... 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-4da0bede-c2f7-45f6-a094-630cd84e1248 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_validate_and_normalize_mac_invalid_format [0.025711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.233019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.022818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.024054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_277_lessee_admin_can_delete_vifs [0.081424s] ... 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-7ba8276c-6a82-48a4-a086-1c61e6d773eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.137403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.027332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.021972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.029087s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.060235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.027865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_278_lessee_manager_can_delete_vifs [0.095437s] ... 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-e8ee4ab0-6f06-4695-8c11-5e5aa3a76858 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.020621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.019809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha256 [0.075600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.019634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.033323s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.242229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_279_owner_member_can_delete_vifs [0.107856s] ... 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-d62b6e89-32d3-465e-8bb5-9a02b522aab0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_wsgi_service.TestWSGIService.test_workers_set_default [0.032768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha512 [0.072565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.030893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.035362s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_280_lessee_member_cannot_delete_vifs [0.099101s] ... 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-5f3b7da5-d558-4c9a-8833-87a1ff978001 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.032824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.094443s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.032053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.062050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.218108s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_281_third_party_admin_cannot_delete_vifs [0.112834s] ... 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-d9202757-0f62-4d58-84bf-5da301426527 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.107430s] ... 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.104758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_282_service_can_delete_vifs [0.097190s] ... 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-5e89794c-6b99-496e-b14e-d8c4545ddf5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.101666s] ... 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.069557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.070833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_283_service_cannot_delete_other_nodes_vifs [0.108419s] ... 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-d37644c0-633c-463f-bf3d-fad2fb04cfb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.108783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.248440s] ... 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.040258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.100868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_284_owner_readers_can_get_indicators [0.108412s] ... 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-b807c15d-ce9f-41bd-a2ca-bebf2cc4bf45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.098912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.086599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_285_lesse_readers_can_get_indicators [0.127338s] ... 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-08461308-a22b-4f6f-bf31-b266567bbc82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.099289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.246260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.108664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.052245s] ... 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.063296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.044380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_286_third_party_admin_cannot_get_indicators [0.164312s] ... 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-20032137-fc3c-4a21-8eef-566ac310d2d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.112602s] ... 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.148234s] ... ok DEBUG util.py:445: {0} 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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_file_if_no_upload [0.040702s] ... 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.046032s] ... ok DEBUG util.py:445: {0} 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.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.321174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.425411s] ... 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.041852s] ... 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.034094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_289_owner_member_can_set_indicator [0.073838s] ... 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-36b9c338-e2f7-4a54-a96f-4662571450e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACProjectScoped.test_project_scoped_290_lessee_member_cannot_set_indicator [0.083682s] ... 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-19c92a9b-2b71-4f1f-9b11-f31c6ae526b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.136928s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.173150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_291_third_party_admin_cannot_set_indicator [0.070420s] ... 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-59b51756-c38f-400d-9cc9-6632abc6bfa0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.134427s] ... 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.250570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_292_owner_reader_can_list_portgroups [0.108555s] ... 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-206054e3-e418-43c8-aa85-68ee7d767c93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.036430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.036159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_293_owner_service_can_list_portgroups [0.070086s] ... 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-979165e3-08f3-4e96-9175-14071b905cc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.107279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.033906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.283244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.021895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.026220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_294_lessee_reader_can_list_portgroups [0.069565s] ... 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-79406eb4-16e7-47e5-af83-ac5cca4dadf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.021721s] ... 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.019629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.107734s] ... 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.020009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_295_third_party_admin_cannot_list_portgroups [0.076729s] ... 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-905eba5f-ccce-4365-9178-b14518cc9c44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.025397s] ... 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.025486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.076171s] ... 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.019149s] ... 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.018729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_296_owner_reader_can_read_portgroup [0.075224s] ... 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-a92a2e7a-b3b7-4cd0-bec8-e200fda9148b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:17:43.694011+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.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.022863s] ... 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.037362s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.094520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_297_lessee_reader_can_read_portgroup [0.087669s] ... 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-8a0f398b-c25a-4f94-8880-89e00e80667d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:17:43.788676+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: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.026925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.300085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.088748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_298_third_party_admin_cannot_read_portgroup [0.072864s] ... 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-c0622285-5a0f-44a8-80bb-286f6a62fa47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.093155s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.094532s] ... 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.079391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_299_owner_admin_can_add_portgroup [0.106017s] ... 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/b837490b-0564-4405-861a-35b4044509da DEBUG util.py:445: Openstack-Request-Id: req-a593ff45-99c7-40ea-98ba-273a4781218e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b837490b-0564-4405-861a-35b4044509da", "created_at": "2024-03-18T18:17:43.995435+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/b837490b-0564-4405-861a-35b4044509da", "rel": "self"}, {"href": "http://localhost/portgroups/b837490b-0564-4405-861a-35b4044509da", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b837490b-0564-4405-861a-35b4044509da/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b837490b-0564-4405-861a-35b4044509da/ports", "rel": "bookmark"}]} 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.097273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.264319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_300_owner_service_can_add_portgroup [0.110026s] ... 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/383d3f35-f286-4f9e-bbf8-614d9796d73b DEBUG util.py:445: Openstack-Request-Id: req-169d1d1e-b321-49b7-a18c-8c37730b9fbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "383d3f35-f286-4f9e-bbf8-614d9796d73b", "created_at": "2024-03-18T18:17:44.100424+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/383d3f35-f286-4f9e-bbf8-614d9796d73b", "rel": "self"}, {"href": "http://localhost/portgroups/383d3f35-f286-4f9e-bbf8-614d9796d73b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/383d3f35-f286-4f9e-bbf8-614d9796d73b/ports", "rel": "self"}, {"href": "http://localhost/portgroups/383d3f35-f286-4f9e-bbf8-614d9796d73b/ports", "rel": "bookmark"}]} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.139041s] ... 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.099113s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_301_owner_manager_can_add_portgroup [0.101022s] ... 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/746a5dcf-2eb1-4003-a2ca-22755dfe5ae8 DEBUG util.py:445: Openstack-Request-Id: req-e812d056-ab55-41c0-b2d0-0efdad7d7fc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "746a5dcf-2eb1-4003-a2ca-22755dfe5ae8", "created_at": "2024-03-18T18:17:44.207833+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/746a5dcf-2eb1-4003-a2ca-22755dfe5ae8", "rel": "self"}, {"href": "http://localhost/portgroups/746a5dcf-2eb1-4003-a2ca-22755dfe5ae8", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/746a5dcf-2eb1-4003-a2ca-22755dfe5ae8/ports", "rel": "self"}, {"href": "http://localhost/portgroups/746a5dcf-2eb1-4003-a2ca-22755dfe5ae8/ports", "rel": "bookmark"}]} 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.021215s] ... 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.021678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.038493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.043997s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.055934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.304985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.050566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.306898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_302_owner_member_cannot_add_portgroup [0.235081s] ... 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-9ff34ae4-98ab-4aa8-a5c1-42cde2985d5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.052896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.051755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.045859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.038101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.039282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.251268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.275974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_elcm_error [0.044832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.067356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_303_lessee_admin_cannot_add_portgroup [0.322346s] ... 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-791c7b42-b892-485d-9d75-a0b2a0bedbed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_invalid_json [0.054250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.061987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_304_lessee_manager_cannot_add_portgroup [0.075559s] ... 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-2eeb4a1b-b3b3-4523-92d7-e1ce5751ddba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.061076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_200 [0.078610s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_500 [0.041260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.060360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.225726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_305_lessee_member_cannot_add_portgroup [0.079782s] ... 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-436aec9c-ab3c-4cb4-b812-dd8ce4bb5f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.052674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.055996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_306_third_party_admin_cannot_add_portgroup [0.079540s] ... 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-a9478ebc-7342-463b-ad00-db736086b648 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.053973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.109832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.053925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.029628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_307_owner_admin_can_modify_portgroup [0.089329s] ... 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-dfd7dde4-65a8-4f81-aae1-7a1d9ec012da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.209534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.064092s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.055384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.028495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_308_owner_manager_can_modify_portgroup [0.095372s] ... 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-e7b8a8b9-fba3-449e-a408-60c4e6e0bcaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_common.IRMCCommonMethodsTestCase.test_set_irmc_version_fail [0.051799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_309_owner_member_cannot_modify_portgroup [0.083166s] ... 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-068816c1-7229-4d8b-8ba5-d017e27f27b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_irmc_version_success [0.068687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.031337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.029812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_310_lessee_admin_cannot_modify_portgroup [0.091075s] ... 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-c0445ea9-ce5d-45ce-b8b2-3513ff77f821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.048175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_311_lessee_manager_cannot_modify_portgroup [0.093157s] ... 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-2574c41a-27be-473b-99d6-5c34d2b3b87e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.322140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.054202s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.063553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_312_lessee_member_cannot_modify_portgroup [0.083626s] ... 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-0ce39682-0a99-42d8-a701-48ab536fb3b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_match [0.087397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.059019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.468182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_version_set [0.054291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.088093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success [0.076739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_313_third_party_admin_cannot_modify_portgroup [0.169495s] ... 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-8ba00115-897b-46bf-b1a6-ef750153d762 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.052295s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success_out_range [0.054799s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.052906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.200876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.095273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_314_owner_admin_can_delete_portgroup [0.129022s] ... 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-dc9586e2-af93-4164-8c12-cda8bf2bcf15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.087460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.122606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_315_owner_manager_can_delete_portgroup [0.080449s] ... 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-93b42dd0-3d42-4b1d-a2ff-6819228bd220 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.097137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.132858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_ipmi [0.072231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_316_owner_member_cannot_delete_portgroup [0.085468s] ... 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-d711c686-88db-487f-8aaa-b17c1b8a32dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_deployments.DoNodeDeployTestCase.test_start_deploy [0.124235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_317_owner_service_can_delete_portgroup [0.085025s] ... 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-0c40998e-09f2-459d-8f09-e8c0f943ee39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.138244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_redfish [0.150978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_318_lessee_admin_cannot_delete_portgroup [0.093122s] ... 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-18cf669e-5986-453d-b0cb-e1e2d3260a52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_deployments.DoNodeDeployTestCase.test_start_deploy_records_lessee [0.148981s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.035540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_319_lessee_manager_cannot_delete_portgroup [0.081761s] ... 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-724abdc9-0b06-4e16-b244-e0061bbac160 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.104137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path [0.166051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.224420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_320_lessee_member_cannot_delete_portgroup [0.113812s] ... 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-ff165127-c706-4269-9e73-b98f4f863187 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.132739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path_none [0.094093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_failure [0.059444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_ok [0.052926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_321_third_party_admin_cannot_delete_portgroup [0.246743s] ... 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-a89fb5f8-aa92-4173-9ce9-2652b3aa38c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_inspection.TestContinueInspection.test_ok_asynchronous [0.059009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.275780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.102906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.125086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_322_service_cannot_delete_portgroup [0.238574s] ... 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-de055a43-b58f-490b-ac27-bf4a24c29c70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.486230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.106479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.326985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.111287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.161448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_323_owner_reader_can_get_node_portgroups [0.250889s] ... 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-d653e11d-2f8d-4364-a836-cdff2459b87f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.197663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.135791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_324_lessee_reader_can_get_node_porgtroups [0.105493s] ... 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-a4671a75-262b-4653-ba03-e43dabc7c80c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.156735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_325_third_party_admin_cannot_get_portgroups [0.133461s] ... 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-7499a8de-5f6b-4fee-88c0-7417f76d8c09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.335907s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.223924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.127119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.091833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_326_service_cannot_get_portgroups [0.240643s] ... 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-c6f5b5cf-cff2-4117-b9ff-a20b832cb798 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.230929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.118141s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.117079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.132837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.052660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_327_owner_reader_can_list_ports [0.243308s] ... 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-a37c10d3-3036-424d-ae0d-9fe7c05073fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.066008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.124313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.535519s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.111359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_328_owner_service_can_list_ports [0.168947s] ... 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-628a6ceb-5665-4333-8353-c8280c6d63af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.061280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.146185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.083411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.058656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_329_lessee_reader_can_list_ports [0.093516s] ... 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-697cf604-3a6f-42e4-9589-09393a0f4bc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.052752s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.127882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.050538s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_removed [0.114000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.063659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_330_third_party_admin_cannot_list_ports [0.153729s] ... 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-64669eb7-69dc-4af3-9ddd-3ff4c94d8dbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.DestroyPortTestCase.test_destroy_port_node_locked [0.036617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.043864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.145797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.061446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_331_owner_reader_can_read_port [0.149349s] ... 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-10a2eeb3-5caf-4749-b779-ecc941acdf6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:17:48.335936+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: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_architecture.ArchitectureTestCase.test_architecture [0.173931s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.186635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_332_owner_service_can_read_port [0.185937s] ... 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-423b0f97-adfa-4e45-b88c-2041fbd44bd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:17:48.504481+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: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.095636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_cpu_capabilities.CPUCapabilitiesTestCase.test_cpu_capabilities [0.195776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_333_lessee_reader_can_read_port [0.221825s] ... 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-4b099494-2101-467b-ab7b-8194d3addc75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:17:48.729097+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: {3} ironic.tests.unit.drivers.modules.inspector.test_agent.ContinueInspectionTestCase.test [0.149049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.177930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.793606s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.169448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.039007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_334_third_party_admin_cannot_read_port [0.253558s] ... 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-8841d495-8f48-4981-b1b6-b4f3a7ade2a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.045730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.050936s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.169243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service [0.329823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.070202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.057448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.056706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.048200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service_maintenance [0.179944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.047541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.233023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.056250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_335_owner_admin_can_add_ports [0.406958s] ... 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-891eeb45-c8c0-4913-a788-580a0e738a2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.066233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.069032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.078032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.265363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.058385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.054536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.053722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.181472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_336_owner_manager_can_add_ports [0.416794s] ... 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-d3cc6462-6205-4ff4-b1bc-e27c21bc5d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.071799s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.046877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.059403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive_simple_storage [0.038881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive_storage [0.037699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.264218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.047306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.036265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.035183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.036507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.036248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_337_owner_admin_cannot_add_ports_to_other_nodes [0.410944s] ... 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-15c86db4-8362-4fd1-9187-00c718cd9b9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.035662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.036740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.030419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.029440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.290728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.031322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.045865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.034626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.035789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.034767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.198166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.038971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_338_owner_manager_cannot_add_ports_to_other_nodes [0.367541s] ... 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-e2043586-4a81-42b1-a265-b55040802e54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.047192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state_disk [0.059595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_missing_attr [0.040150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.052675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.058575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.291065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [1.545801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.033900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.057452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.080647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.256715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.093932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_339_owner_service_cannot_add_ports_to_other_nodes [0.525515s] ... 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-d68f954d-41d4-41ff-a257-65ff2118d31d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.106773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.064064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.199869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.104405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.606473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.105140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_340_owner_member_cannot_add_port [0.381395s] ... 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-46054711-858b-4582-b4a3-a710a358c974 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.309310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.205129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.145839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.097795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_341_lessee_admin_cannot_add_port [0.329014s] ... 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-c941c333-4718-4c35-adef-0bf8cd0aa2e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.074326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.049156s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.214714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.078076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.092338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.706866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.122299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_342_lessee_manager_cannot_add_port [0.418977s] ... 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-10a29e8f-79fe-43ac-bcab-a606154969ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.068778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.290544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.059589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.206771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.092023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.075067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.081275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_source_path [0.121845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.084841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.112282s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.171887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.122943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.106471s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.156069s] ... 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.094159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.096439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_343_lessee_member_cannot_add_port [0.617071s] ... 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-bc66543a-e452-4fdd-af63-24f700bcef89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.080808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.116847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_http_boot [0.204225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.089617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.135283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.101454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_344_third_party_admin_cannot_add_port [0.259626s] ... 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-99f7e581-ca1e-44c4-9795-48d717aee6a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.112693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_agent_token [0.104886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.219997s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.069689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_agent_token_older_version [0.108887s] ... 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.098424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.147265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_345_service_can_add_port [0.201422s] ... 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-7720f12b-c42a-4ff9-b1e0-e27820d359b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.HeartbeatTestCase.test_heartbeat_invalid_newer_version [0.101958s] ... 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.126554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.143151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_tls_required [0.114087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_346_service_cannot_add_ports_to_other_project [0.187482s] ... 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-e0983974-2de9-4431-864f-cec128c3a5ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.067380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_token [0.107102s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.176831s] ... 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.145506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_verify_ca [0.100649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.102585s] ... 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.050698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_347_owner_admin_can_modify_port [0.240137s] ... 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-d5f39937-2a99-4d98-97e9-e846ae5b9d1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.HeartbeatTestCase.test_heartbeat_with_agent_version [0.114584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.184379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.205754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_348_owner_manager_can_modify_port [0.212908s] ... 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-15ad77a2-f01a-44d4-a548-3d5e831c8754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.095190s] ... 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.094525s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.058098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_349_owner_service_can_modify_port [0.122096s] ... 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-9aa32347-3a58-467c-bc86-9799b456723d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_management.RedfishManagementTestCase.test_set_indicator_state_disk [0.055740s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.101874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_350_owner_member_cannot_modify_port [0.083073s] ... 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-373406ca-a58f-4727-a88b-3b789c3c811f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.047745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.054069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_351_lessee_admin_cannot_modify_port [0.086824s] ... 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-b59e8f04-b362-4685-a45b-42fb00e9708c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.HeartbeatTestCase.test_heartbeat_with_no_required_agent_token [0.469539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.052235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_352_lessee_manager_cannot_modify_port [0.075419s] ... 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-fe07863f-119f-4026-b8e5-467de2193e68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.052860s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.050235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_353_lessee_member_cannot_modify_port [0.073473s] ... 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-9365ee3b-16ea-4aed-ac6a-3931d918101c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.265586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.049661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_required_agent_token [0.201434s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.051223s] ... 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.test_acl.TestRBACProjectScoped.test_project_scoped_354_third_party_admin_cannot_modify_port [0.084209s] ... 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-bbc33f0d-d1b6-4f48-bb54-2793578b8943 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.046949s] ... 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.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage [0.053821s] ... 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.test_acl.TestRBACProjectScoped.test_project_scoped_355_owner_admin_can_delete_port [0.096410s] ... 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-d308a131-6880-44e1-b00d-c5096599e92f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_management.RedfishManagementTestCase.test_update_firmware_stage_both [0.057970s] ... 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.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.038529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_boot_mode [0.049026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_agent_version_anaconda [0.287449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_boot_mode_immediate [0.049018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_356_owner_manager_can_delete_port [0.218537s] ... 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-c0899aad-2229-485d-ab19-d09884b33d92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_management.RedfishManagementTestCase.test_wait_for_secure_boot [0.050206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_immediate [0.046579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_no_wait [0.047896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_version [0.192530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_357_owner_service_can_delete_port [0.170364s] ... 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-732cb218-21fd-4e78-bab9-ca7ea782b7ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.034039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.027377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.025983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.026429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_358_owner_member_cannot_delete_port [0.100417s] ... 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-169d1470-c36c-4348-a068-95959eab9802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.037436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.717284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.046706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.062199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_359_lessee_admin_cannot_delete_port [0.143939s] ... 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-5e18dcdf-9aeb-49f6-b5be-3d1008fdc043 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.049406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.151150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.037854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_360_lessee_manager_cannot_delete_port [0.093252s] ... 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-ba8bbe46-a07d-49a7-9442-9cbef3629d23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.038367s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.035028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.057301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_361_lessee_member_cannot_delete_port [0.126949s] ... 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-fcaaea3f-2576-4b33-a6ee-e4ec0eb84671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.146195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.035693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.031449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.033235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_362_third_party_admin_cannot_delete_port [0.094526s] ... 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-1529a1d1-122f-4ea2-87f5-e9b4ced4c991 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.106358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.028851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.041623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.036909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.028192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.057663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_363_owner_reader_can_get_node_ports [0.154551s] ... 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-051324c7-6328-4ccd-87ca-1535797704d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.128335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.036693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_364_owner_service_can_get_node_ports [0.112407s] ... 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-0976c416-cd0b-4656-ae11-a61bdadbc64a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.087925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.108903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.054315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_365_lessee_reader_can_get_node_port [0.095039s] ... 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-0559e963-5f7f-4154-a991-c97b21e284f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.062953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.105827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.053613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_366_third_party_admin_cannot_get_ports [0.096122s] ... 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-8ea1e3cf-ed91-4c69-908e-0dfc6da7e757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_timeout [1.094939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.143872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_367_service_cannot_get_ports [0.092337s] ... 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-77e9b397-e002-42bc-ae2b-c8a8a206dffd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.085300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.062275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.165890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.048273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.051486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.143738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.063521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.067756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.186002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.038637s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_368_owner_reader_can_get_ports_by_portgroup [0.270155s] ... 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-57c7cde4-8724-4cd8-b70d-093e080fd4ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.054024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.080007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.061118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.067258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.068271s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.049539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.048675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.114242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.302119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_369_owner_service_cam_get_ports_by_portgroup [0.324767s] ... 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-7c7a7b9a-2899-4e58-a58b-6fe7b4deb8cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.NodeTraitsTestCase.test_remove_node_traits_empty [0.080888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.050485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.180288s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.224359s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.064534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.044773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.066289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.052059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.060798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.187633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot ... SKIPPED: bug #2025424 DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.125874s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.061805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.029169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_370_lessee_reader_can_get_ports_by_portgroup [0.396565s] ... 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-8de6e422-b089-48d7-909c-8223d12e944d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.062296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.107318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.071065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.244749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.053600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.070575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.055554s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.070327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.066202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.062952s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.058182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_371_third_party_admin_cannot_get_ports_by_portgroup [0.319689s] ... 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-cfbcc7eb-4086-492f-b087-d7c3520a0bf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.064851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.058181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.265924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_372_service_cannot_get_ports_by_portgroup [0.090638s] ... 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-63be9289-1211-401b-b300-69c8afd742e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.037167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.086205s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.078169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_373_owner_reader_can_list_volume_connectors [0.134876s] ... 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-65aeb3a6-4396-402b-ad1c-223169e75c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.059590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.109455s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.061699s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.029431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_374_lessee_reader_can_list_volume_connectors [0.131991s] ... 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-21485592-441e-43e5-8b38-b83cf7576a9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.034110s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.097043s] ... ok DEBUG util.py:445: {3} 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.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.365473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.033633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.075511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.104003s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.047634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.053176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.181175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.052482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_375_third_party_admin_cannot_get_connector_list [0.210261s] ... 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-a7217dc4-a08b-44e0-a0b6-8bf40d3c4ccc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.test_agent_power.AgentPowerTest.test_reboot_timeout [0.067591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.125690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.030958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.027685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.026505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.180534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_376_owner_admin_can_post_volume_connector [0.173691s] ... 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/23730e73-6a27-4bed-9273-a82019526555 DEBUG util.py:445: Openstack-Request-Id: req-49c61753-e185-43e7-a676-354113242795 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "23730e73-6a27-4bed-9273-a82019526555", "created_at": "2024-03-18T18:17:58.259964+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/23730e73-6a27-4bed-9273-a82019526555", "rel": "self"}, {"href": "http://localhost/volume/connectors/23730e73-6a27-4bed-9273-a82019526555", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.080279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.050542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.050396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.042041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.166943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.044855s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.046351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_377_owner_manager_can_post_volume_connector [0.252351s] ... 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/6390721b-27f3-4779-ab80-7a6092f02d38 DEBUG util.py:445: Openstack-Request-Id: req-93ff57b9-cc15-4802-b4e8-c41aa8263f8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6390721b-27f3-4779-ab80-7a6092f02d38", "created_at": "2024-03-18T18:17:58.477184+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/6390721b-27f3-4779-ab80-7a6092f02d38", "rel": "self"}, {"href": "http://localhost/volume/connectors/6390721b-27f3-4779-ab80-7a6092f02d38", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.057454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.292649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.045177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.042120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.230689s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.030076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.030006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.024297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.023066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.023796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.030302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_378_owner_service_can_post_volume_connector [0.280908s] ... 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/53dfd175-8c30-45a5-ac5f-60321b8dd3cf DEBUG util.py:445: Openstack-Request-Id: req-884e0c54-45bb-4878-a399-abd7a222dfee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "53dfd175-8c30-45a5-ac5f-60321b8dd3cf", "created_at": "2024-03-18T18:17:58.755996+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/53dfd175-8c30-45a5-ac5f-60321b8dd3cf", "rel": "self"}, {"href": "http://localhost/volume/connectors/53dfd175-8c30-45a5-ac5f-60321b8dd3cf", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.025078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.026601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.028685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.026382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.276964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.409651s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.058414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_interface_check [0.031151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_379_lessee_admin_cannot_post_volume_connector [0.275995s] ... 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-b11fea13-2680-4292-a9ec-14ba504415ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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_periodics.NodePeriodicTestCase.test_limit [0.032150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.029352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_380_lessee_manager_cannot_post_volume_connector [0.193222s] ... 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-fe61b16e-a06c-4b6b-b428-a2f239c32ad5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.338657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.030910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.045873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.049357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.050890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.060051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.026020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.035835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.035614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_381_third_party_admin_cannot_post_volume_connector [0.347701s] ... 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-aec17725-fb11-447d-b5b8-6fb30496b7e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.041636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.036269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_382_service_admin_cannot_post_volume_connector [0.082256s] ... 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-06ddf950-9421-4ed2-9e26-d038f347e1cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.042755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.840112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.036461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.031745s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_383_owner_reader_can_get_volume_connector [0.083322s] ... 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-a4274ee3-a708-4aa3-8f54-5f53b20411f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:17:59.745806+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: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.030987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.037979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.045030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.043651s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_384_lessee_reader_can_get_volume_connector [0.095204s] ... 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-8df42775-50ab-4ebd-a88f-d312cff238e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:17:59.842286+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: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.056548s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.056919s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.085640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.059477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_385_third_party_admin_cannot_get_volume_connector [0.178761s] ... 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-6dbda016-711d-4eea-816b-e6c31d695ee0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_default [0.088039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.258217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.043607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.027866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_386_lessee_member_cannot_patch_volume_connectors [0.188464s] ... 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-68e75203-6fa8-49b4-8193-20adb0a4c7db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.025020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.029148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.023565s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.021290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.022690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.023656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_ipmi [0.263559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.023272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.023930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.022245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_redfish [0.059723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.026425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.034499s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.033690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.046932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.040398s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.040111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_387_owner_admin_can_patch_volume_connectors [0.344421s] ... 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-960de8c4-22b2-4d1b-92b8-7d742afb0569 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.053145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.030902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.050200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.031971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.043101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.039550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.033566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.042742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.028466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.029592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.062569s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.034644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_default [0.038083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_388_owner_manager_can_patch_volume_connectors [0.251905s] ... 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-59561c8a-8220-41c7-8cd3-b0b0771bd99c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.054724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_ipmi [0.044771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.035104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_redfish [0.062540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.030290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.037746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_389_lessee_admin_cannot_patch_volume_connectors [0.136364s] ... 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-5cb378ea-0272-4dad-a9af-8e7a51929ba8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_ipmi [0.044069s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.041056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_redfish [0.058932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.039405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.023412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.024506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_390_lessee_manager_can_patch_volume_connectors [0.131993s] ... 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-e46c0128-304a-4eb8-88b8-4bda2ff05e81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.076740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.023932s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.025668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.048436s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.067282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_391_owner_member_can_patch_volume_connectors [0.113201s] ... 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-8095c633-bef7-4081-8049-826ec252386a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_periodics.NodePeriodicTestCase.test_stop [0.044992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.064646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.091729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_drain_has_reserved [0.062286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.066635s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.054205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_392_third_party_admin_cannot_patch_volume_connectors [0.083576s] ... 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-ab954245-43cf-41a8-b60f-a052d29099b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.conductor.test_rpc_service.TestRPCService.test_shutdown_timeout_reached [0.055919s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.052928s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.079595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_393_owner_admin_can_delete_volume_connectors [0.083164s] ... 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-0197ac43-7780-42a1-ba09-b16607c8d4c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_rpc_service.TestRPCService.test_start [0.083911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.086815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.083860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_394_owner_manager_can_delete_volume_connectors [0.111786s] ... 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-4b035ed4-cdc0-4d7a-8019-2fcbf896eb4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_rpc_service.TestRPCService.test_start_failure [0.089497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.098916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.098084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_395_owner_service_can_delete_volume_connectors [0.094738s] ... 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-39c3f80f-8f29-4e63-b693-0b9f1988bd1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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_rpc_service.TestRPCService.test_start_no_rpc [0.075371s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.063606s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.081048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.050039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_full_reset_interval [0.063257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_396_lessee_admin_can_delete_volume_connectors [0.086106s] ... 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-a5759686-632d-4119-a9ab-48a547ad82df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.088631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.085649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_remaining_interval [0.090917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_397_lessee_manager_can_delete_volume_connectors [0.085852s] ... 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-a2345c5d-a8a2-48b1-a1d2-5a72f0967bb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.048398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_has_reserved [0.044577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.058866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.048174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_instant [0.050921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.022631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_398_third_party_admin_cannot_delete_volume_connector [0.101187s] ... 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-afd941ed-ef28-4aec-acf6-fbfae1a07bf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.027085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_slow [0.056673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.027701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.123106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.023839s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_399_service_cannot_delete_volume_connector [0.072442s] ... 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-cc5b7e40-a9b2-4d81-8538-b62d039071d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.025541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.024764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test__do_node_cleanhold_abort_tear_down_fail [0.092985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.028018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.024942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_400_owner_reader_can_get_targets [0.099680s] ... 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-4d71c52a-0195-4a86-bfd6-e808994e6920 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.022434s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.022253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.024191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.182263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_401_lesse_reader_can_get_targets [0.079256s] ... 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-c1f3889e-6ac1-49d9-b98e-35384e45777f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.023771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.024768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test__do_node_service_abort_tear_down_fail [0.157581s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.026945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.023148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_402_third_party_admin_cannot_get_target_list [0.082009s] ... 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-56638df5-4a1b-4e6d-ace5-f14c242cff39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.023628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.022320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test_do_node_service_abort_early [0.104526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.166097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.026573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.022031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_403_owner_reader_can_get_volume_target [0.099086s] ... 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-96f96ca8-9bf1-423f-bc24-6f5d70b33d5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:02.277703+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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.026241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.022200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.023198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_404_lessee_reader_can_get_volume_target [0.073097s] ... 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-68666368-8078-4db2-a2fa-3bfca76e71b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:02.361098+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: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.024390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.024456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test_do_node_service_abort_with_step [0.178715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.020114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_405_third_party_admin_cannot_get_volume_target [0.076799s] ... 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-c1237173-7276-4041-8b02-5e239b150ae0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.023042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.197483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.020004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.020334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeServiceStepsTestCase.test__get_service_steps [0.086088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.023790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_406_owner_admin_create_volume_target [0.082545s] ... 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/5253de2d-7465-4679-bc2d-7eb6b8fc42c7 DEBUG util.py:445: Openstack-Request-Id: req-93e5a481-2766-4811-b2ce-851686005577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "5253de2d-7465-4679-bc2d-7eb6b8fc42c7", "created_at": "2024-03-18T18:18:02.548103+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/5253de2d-7465-4679-bc2d-7eb6b8fc42c7", "rel": "self"}, {"href": "http://localhost/volume/targets/5253de2d-7465-4679-bc2d-7eb6b8fc42c7", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.033904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.117314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_407_owner_service_create_volume_target [0.081754s] ... 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/2810b0e4-5931-480e-acad-840b77b31dc3 DEBUG util.py:445: Openstack-Request-Id: req-2366663f-616b-4a76-903e-1765b2996640 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "2810b0e4-5931-480e-acad-840b77b31dc3", "created_at": "2024-03-18T18:18:02.630861+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/2810b0e4-5931-480e-acad-840b77b31dc3", "rel": "self"}, {"href": "http://localhost/volume/targets/2810b0e4-5931-480e-acad-840b77b31dc3", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.075699s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeServiceStepsTestCase.test_set_node_service_steps [0.118387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.068264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.066026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_408_owner_manager_create_volume_target [0.083777s] ... 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/a5ee8cd3-71e7-47e1-b5cf-e753fddaed0a DEBUG util.py:445: Openstack-Request-Id: req-f59b7926-b082-43a4-9386-4f1e1ba315a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a5ee8cd3-71e7-47e1-b5cf-e753fddaed0a", "created_at": "2024-03-18T18:18:02.713862+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a5ee8cd3-71e7-47e1-b5cf-e753fddaed0a", "rel": "self"}, {"href": "http://localhost/volume/targets/a5ee8cd3-71e7-47e1-b5cf-e753fddaed0a", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.047850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.175606s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.074217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_409_lessee_admin_create_volume_target [0.104620s] ... 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/e56b99df-520e-4c30-9c9e-6706a7e01db1 DEBUG util.py:445: Openstack-Request-Id: req-efb0b7e1-325d-4c60-855f-1e00be437979 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e56b99df-520e-4c30-9c9e-6706a7e01db1", "created_at": "2024-03-18T18:18:02.819266+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e56b99df-520e-4c30-9c9e-6706a7e01db1", "rel": "self"}, {"href": "http://localhost/volume/targets/e56b99df-520e-4c30-9c9e-6706a7e01db1", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.067407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.018875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.066420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.114308s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.045737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_410_lessee_manager_create_volume_target [0.100123s] ... 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/58991a71-b93d-44cc-96a0-d66c805f7735 DEBUG util.py:445: Openstack-Request-Id: req-a01a6e6d-d5f0-43e1-a645-4a796d89fa0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "58991a71-b93d-44cc-96a0-d66c805f7735", "created_at": "2024-03-18T18:18:02.919294+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/58991a71-b93d-44cc-96a0-d66c805f7735", "rel": "self"}, {"href": "http://localhost/volume/targets/58991a71-b93d-44cc-96a0-d66c805f7735", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.070996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.036286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.035469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_411_third_party_admin_cannot_create_volume_target [0.086683s] ... 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-2925625d-3067-44b3-8f69-35fa6e916425 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.110764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.159460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_412_owner_member_can_patch_volume_target [0.079804s] ... 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-aae3a818-fc92-430a-a05f-86a78510f8a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.118676s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.041850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.125399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_413_owner_service_can_patch_volume_target [0.117225s] ... 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-24e335f7-e00b-4242-9eb1-efb64b209190 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.073020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.267505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.055508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.146823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.040234s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.067916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.029742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_414_lessee_admin_can_patch_volume_target [0.173213s] ... 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-c949b753-4ba8-4bfb-bf78-d74a9cf27af7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.046009s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.059335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.035862s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.031074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.065444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.186409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.026911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.041585s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.024786s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.041618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.066586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_415_lessee_manager_can_patch_volume_target [0.216990s] ... 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-b39a4278-4279-439a-be74-b98f74ae126c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.test_image_cache.TestFetchCleanup.test__fetch_part_already_exists [0.039370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.038011s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.035098s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.032416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.023830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.170730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.029091s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.056327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.020335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.036194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.026176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.026549s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.038935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.025039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.033945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_416_lessee_member_cannot_patch_volume_target [0.224377s] ... 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-68e28bbf-df69-4e15-b5d1-e37b822663a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.036154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.039212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.204163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.039472s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.035036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.036769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.034827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_defaults [0.036884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.268038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.036223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_417_third_party_admin_cannot_patch_volume_target [0.290673s] ... 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-76315c35-7e3f-4f9f-b937-bde50ffe4fcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.036524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.051725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.277944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.038356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.056421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.036995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.039425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.066694s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.037029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.141801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.039972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_with_node_external_http_url [0.039343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.041860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.079417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.083962s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.045177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.059162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.041143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.075699s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.035576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.045704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.079082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.034600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.059756s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.047222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.086698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.042341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.075088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.043554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.055535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.044735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.078699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.063782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.045429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.066812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.059215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.040157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.030955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.038097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.044328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.037113s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.051367s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.034361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler [0.086409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.036209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.053205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_fail [0.059488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.033863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.059757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.037698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_config_external_http_url [0.034977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_teardown [0.086285s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_node_external_http_url [0.035846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicefail [0.057312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.048548s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicewait [0.051745s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_418_service_cannot_patch_volume_target [1.038396s] ... 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-83b63069-dc56-49eb-9b8b-2ecd18a88232 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image [0.035378s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_custom_cache [0.038177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.241824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_tear_down_error [0.089719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_file [0.048721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_from_swift [0.038495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.051392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.070820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local [0.042176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.042212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.040611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.053222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local_external_http_url [0.063648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_noop [0.037485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.048105s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.096664s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_schema [0.036839s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.046633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.024140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.048372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.022307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.045936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.026511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.063508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_419_owner_admin_can_delete_volume_target [0.422351s] ... 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-01edd26d-8213-4a8c-9b0f-b68cc483b3d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.049670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.040407s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.024394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.049334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.019982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.063615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.019971s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.023803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.050054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.024447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.042929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.022226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.027219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.124769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.042909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.020297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.018624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.047728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.044933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.097298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.048291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_420_owner_manager_can_delete_volume_target [0.285750s] ... 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-fe05afe3-ae97-4cb5-a8b3-b9c9c78c0123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.046647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.042369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.028963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.040562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.118410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.061192s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info_string [0.097889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.048359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_421_lessee_admin_can_delete_volume_target [0.235248s] ... 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-876cc5ba-3590-4915-b110-c7cbee513f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.233170s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.057860s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.044627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.113348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.046341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.054287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_422_lessee_manager_can_delete_volume_target [0.112661s] ... 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-c256f509-6788-4778-842b-912e061b73a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.058337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.061279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.048231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.051910s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.041760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.032227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.047840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.108670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.033185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.046165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.041766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_423_owner_member_cannot_delete_volume_target [0.218127s] ... 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-570598ac-35f5-489d-b46e-64647616f031 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.052834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.090336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.034415s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.035775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.043584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.059100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_only_cdrom [0.033881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.040998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_ramdisk [0.035464s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.049821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.089774s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_ramdisk [0.036736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info [0.040239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.060512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info_exc [0.032100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.043883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.091530s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.032115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.032105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.053702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_424_lessee_member_cannot_delete_volume_target [0.333802s] ... 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-92b59041-07bb-4738-9cc9-140b27536757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.034401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.078252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.047773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.037948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_http_boot_not_enabled [0.032183s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.054270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.039227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.040240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.033702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.048489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_deploy [0.037630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.105384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_exc [0.032835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.055490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy [0.032026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.082442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.035994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.060583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue [0.038730s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.040517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.071304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.035708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.048954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_425_third_party_admin_cannot_delete_volume_target [0.370870s] ... 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-29a0cc23-cd7c-4972-a742-2972e11f76af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_iso [0.040549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.050554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy [0.036184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.104265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.036148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.052439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue [0.041280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_no_token_info [0.069304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.056336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.035002s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.021396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.021931s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_returns_project_id_if_present [0.060121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_ramdisk [0.038542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.024987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_rescue [0.035231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.033412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.021594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.093292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.028182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_boot_option [0.075427s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.029536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_426_service_cannot_delete_volume_target [0.339098s] ... 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-0e4b61d8-8d15-462d-ab28-0a3c10ddb13b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.032759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.082137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_whole_disk_image [0.071943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.018877s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.020807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.023832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.065687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.021214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.024655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestFirmwareInterface.test_update_with_wrapper [0.021178s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.065068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_normal_boot [0.127904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.021865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.045927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.074586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.040125s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_427_owner_reader_can_get_volume_connectors [0.253955s] ... 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-85775625-3cdc-4b3e-b348-20a1486cf364 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.031245s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot [0.136892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.080124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.061420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_428_owner_service_can_get_volume_connectors [0.134423s] ... 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-36bd17ed-cee7-4407-a4ce-d6dc2fcb2e65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.031868s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.076686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.063308s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.038440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.191786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.112208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_429_lessee_reader_can_get_node_volume_connectors [0.123290s] ... 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-43030931-e0d2-4e59-8bff-00e5f9b8ae86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.057054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_430_third_party_admin_cannot_get_node_volume_connectors [0.085839s] ... 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-af9ae679-80af-4f1d-9c11-135ceec2d30c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.114302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.086462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.050072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.070006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_idrac [0.084744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.055642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_431_service_cannot_get_node_volume_connectors [0.199218s] ... 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-6bb0f24f-1a23-4eb3-9ffa-94ba1e91414a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.098558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.076986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.063601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.077987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.060782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.074588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.064450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.063292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.046923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_432_owner_reader_can_get_node_volume_targets [0.315461s] ... 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-aba91538-ab6b-4105-b616-d8137511270a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.071993s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_raid [0.048089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.048991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.074477s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.045576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.763005s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.050447s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.045538s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.042530s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.042194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_433_owner_service_can_read_get_node_volume_targets [0.308057s] ... 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-ab571391-efc3-4dbd-b9f7-a9f1ab5db4fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.049048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.022939s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.293084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.023235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.278417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.071205s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.054809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_fast_track [0.129519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.051952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_434_lessee_reader_can_get_node_volume_targets [0.275133s] ... 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-f62259da-cf50-4f3e-9d73-fc7af698995a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.233140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.088412s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.025363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.022480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.024122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.065797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.022056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_no_debug [0.179167s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.019636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.022792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.065381s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.032541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.065261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.042234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_435_third_part_admin_cannot_read_node_volume_targets [0.261390s] ... 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-bcf7a862-a208-4110-8ff0-50c1bd8a90f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.objects.test_fields.TestMacAddressField.test_coerce [0.018633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.017541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.051774s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.018603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.019526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.018923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.018512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.065238s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.020004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.021274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.018528s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.024531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_create [0.022391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_with_params [0.292824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_destroy [0.026053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.054523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.026647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_436_service_cannot_read_node_volume_targets [0.247147s] ... 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-d928af76-2723-499f-ba49-e8e36b81e3d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.023573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.021342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_boot_iso [0.087477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.062236s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.021465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.039181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.023869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.019997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.035047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.019378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_correct_vendor [0.090490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.020366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.041393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.026633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.019793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.025620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.019327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_437_owner_reader_cannot_get_drivers [0.204536s] ... 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-c6334a02-2de1-49c5-943d-c20001f893e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_allocations.AllocationsTestCase.test_create [0.030281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.024260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_errors_with_lack_of_support [0.112463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.029222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.023097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.021179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.028211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.020659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.019507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.062777s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.021090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.023738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.030473s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_inspection [0.119823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.029729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.036241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.022663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.055660s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.066999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_438_lessee_reader_cannot_get_drivers [0.273131s] ... 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-52212e03-5c28-4aed-b31d-acdba0fba1f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.022479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.047085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.026470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.027041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_kernel_ramdisk [0.160738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.022187s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.021873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.033740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.023835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.045465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.024644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.030390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.033938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.035026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.045239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_local [0.173836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.042656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_439_third_party_admin_cannot_get_drivers [0.242822s] ... 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-46dfa5c0-d4c3-4bd2-8a3c-4c17dcf293f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.058844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_440_service_cannot_get_drivers [0.068039s] ... 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-968ad0c2-8c0b-4c7a-8ef9-c2783af51f91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.093936s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_missing [0.139630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_441_owner_reader_cannot_get_drivers_vendor_passthru [0.073956s] ... 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-f81329a1-2252-4a78-82e5-d493fb3ea86e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.051686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.088991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_442_lessee_reader_cannot_get_drivers_vendor_passthru [0.066491s] ... 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-5a489edf-01f1-4ae2-880b-a3f850ce71f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.067149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.056374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.118487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_443_third_party_admin_cannot_get_drivers_vendor_passthru [0.071976s] ... 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-3967c0a0-246e-4c3f-b2c5-af305c0d2446 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.104370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.069443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_444_service_cannot_get_drivers_vendor_passthru [0.062455s] ... 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-ff42e641-79c2-4b84-b54a-6bc55dc3b3f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.094268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.032277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.040160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_445_owner_reader_can_get_bios_setttings [0.074982s] ... 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-03f65d77-d909-4bd4-af1c-d0a3e3dcb872 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.033534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.135631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.041013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.040566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.149755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_446_lessee_reader_can_get_bios_settings [0.081390s] ... 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-1edd5e2b-bd7f-43b9-be82-8f2eac59292f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.073096s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_447_third_party_admin_cannot_get_bios_settings [0.071671s] ... 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-0322ad0f-66bc-47a1-81a1-34efc83db0e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.db.test_allocations.AllocationsTestCase.test_take_over_success [0.091568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.093223s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.062938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.066897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_448_service_can_get_bios_setttings_owner_project [0.085427s] ... 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-e0dbdd02-a0bb-4b0b-8137-ca28107fde5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.046517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd [0.096050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.039559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.086843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd_retry [0.075563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_449_service_cannot_get_bios_setttings [0.108933s] ... 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-bd015c34-3626-4de7-be9d-8a66afc57296 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.062905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.057803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.038665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.029256s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.089663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_450_owner_reader_cannot_get_conductors [0.102050s] ... 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-802978db-1d59-4d78-8052-e06d2fdb0d6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.032909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.042461s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.101935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.036197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component [0.027883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_451_lessee_reader_cannot_get_conductors [0.100891s] ... 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-e6323b39-2296-401c-9860-4423012dc4ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.068345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component_duplicate [0.032057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.083929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.025304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_delete_firmware_component_list [0.038565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component [0.028920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_452_third_party_admin_cannot_get_conductors [0.083039s] ... 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-54871a7f-91ff-41b9-94e2-4f005590746d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list [0.029632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.092669s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list_node_not_exist [0.026555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.150781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_node_not_exist [0.025730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_453_owner_reader_can_get_allocations [0.085388s] ... 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-8dfe7fa9-410f-40e9-9e4b-656a7cd877ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "4e31f16f-7c1c-4a59-aec0-6c2c68429c11", "created_at": "2024-03-18T18:18:11.536879+00:00", "updated_at": "2024-03-18T18:18:11.538225+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/4e31f16f-7c1c-4a59-aec0-6c2c68429c11", "rel": "self"}, {"href": "http://localhost/allocations/4e31f16f-7c1c-4a59-aec0-6c2c68429c11", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_setting_not_exist [0.029179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.070770s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.055916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_component_not_exist [0.043314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_454_lessee_reader_can_get_allocations [0.090310s] ... 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-977508a2-8392-4942-aacc-3b6692b79914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "d62d48c5-f613-43d2-bd51-e607f73b3ea7", "created_at": "2024-03-18T18:18:11.623768+00:00", "updated_at": "2024-03-18T18:18:11.625287+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/d62d48c5-f613-43d2-bd51-e607f73b3ea7", "rel": "self"}, {"href": "http://localhost/allocations/d62d48c5-f613-43d2-bd51-e607f73b3ea7", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_components [0.028710s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_empty_list [0.023520s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.081494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_list [0.033291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_455_owner_reader_can_get_their_allocation [0.091763s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/ae8e397a-827c-4a40-bee1-45010afb669e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76fe0c8d-9c43-4e25-868e-dbbc2594e6ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ae8e397a-827c-4a40-bee1-45010afb669e", "created_at": "2024-03-18T18:18:11.705041+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/ae8e397a-827c-4a40-bee1-45010afb669e", "rel": "self"}, {"href": "http://localhost/allocations/ae8e397a-827c-4a40-bee1-45010afb669e", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.029760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.140717s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.027032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.114394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.035889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.071939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_456_lessee_reader_can_get_their_allocation [0.079119s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/6eed5920-843a-424b-87db-58b86e6933c2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5382707f-c31d-4dd6-b801-d4007ef3fdff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "6eed5920-843a-424b-87db-58b86e6933c2", "created_at": "2024-03-18T18:18:11.798561+00:00", "updated_at": "2024-03-18T18:18:11.800034+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/6eed5920-843a-424b-87db-58b86e6933c2", "rel": "self"}, {"href": "http://localhost/allocations/6eed5920-843a-424b-87db-58b86e6933c2", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.027487s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.068833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.053716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.035919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.054642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.060334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.098969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_457_owner_admin_can_delete_their_allocation [0.143424s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/66a7d8c6-bdce-4691-a599-ffec9f2a85f8 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96e9eb69-e013-4521-84fd-f78f6101e6a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.043697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.072457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.037792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.065675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.031746s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.049281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.148116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.094645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.073293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.188707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.027082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.088185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.025774s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.033551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.027307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.099766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.035884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.071558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.027163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.024804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.050678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_458_owner_manager_can_delete_their_allocation [0.461816s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/a2da951f-bacf-47d1-9ff6-50dca9c8b905 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e290ee1-5aac-48e8-bd01-a03cd8c148f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.125155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_clean_dhcp_opts [0.075497s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.062305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.066833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_get_ip_addresses [0.055001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_459_lessee_admin_can_delete_their_allocation [0.110703s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/780d1ae9-289c-4419-a65f-948162d71b63 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ce5fb15-a03b-4966-a786-683068cc18d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.076201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.036629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_update_dhcp [0.055063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.081610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.042084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_460_lessee_manager_can_delete_their_allocation [0.087893s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/68b8d68d-b588-4e51-9d5d-f05603843133 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e984c26b-ccb9-4a75-94c6-0ff02c55014a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.049862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.074197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.050176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.046794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.054329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_461_owner_member_can_delete_their_allocation [0.104618s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/bd3a4cf3-eb12-4ebb-82f8-06129fa7b584 GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e3a876e-c42d-4d52-8297-d4904cb0173b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.052187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.076110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.050383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.048825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_462_lessee_member_can_delete_their_allocation [0.090307s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/677bd94f-f73c-4d46-9cbe-af3feb4b339c GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ae9e9a2-d638-40ff-9ce2-1e257cbc3048 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.045472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.080117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.058327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.040850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.040400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.038616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.036097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.047225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.034499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.052045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.079552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.038271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.057510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.053315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.046087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.044094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.035641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_463_owner_member_can_patch_allocation [0.276079s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/b64884e4-ebe7-4823-8802-724e478abc51 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-9bf104b8-8b9b-4332-9c0a-ffec0a172d09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b64884e4-ebe7-4823-8802-724e478abc51", "created_at": "2024-03-18T18:18:12.985861+00:00", "updated_at": "2024-03-18T18:18:13.076898+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/b64884e4-ebe7-4823-8802-724e478abc51", "rel": "self"}, {"href": "http://localhost/allocations/b64884e4-ebe7-4823-8802-724e478abc51", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.051779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.044332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.116186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.040471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.056643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.027666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.042847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.051792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_mac [0.079205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.036046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.035015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.036158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_unknown_hosts [0.095682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.056710s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_464_lessee_member_can_patch_allocation [0.237402s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/0ee3c254-947e-41d0-8b32-f29dcf63b090 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-6335f66f-83d4-4285-a776-0dcece99dbc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0ee3c254-947e-41d0-8b32-f29dcf63b090", "created_at": "2024-03-18T18:18:13.215375+00:00", "updated_at": "2024-03-18T18:18:13.320266+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/0ee3c254-947e-41d0-8b32-f29dcf63b090", "rel": "self"}, {"href": "http://localhost/allocations/0ee3c254-947e-41d0-8b32-f29dcf63b090", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_allowlist [0.039129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.043121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.084811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.048987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_denylist [0.071153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_465_third_party_admin_can_get_allocations [0.122109s] ... 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-97d0a55a-3d01-4509-809a-fff9147d236c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.051370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_mac [0.050493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.116713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.053117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_466_third_party_admin_can_create_allocation [0.085684s] ... 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-854fb71c-d9bc-402a-bb1b-ebeaedd17d38 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.051940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.067518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.047235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.058505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_467_third_party_admin_cannot_create_allocation_with_owner_node [0.112500s] ... 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-94874201-5aec-4593-a365-b1e90c70066c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.061067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.058720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.109417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_468_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.090809s] ... 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-ba6fa86a-518a-4a3d-a453-afeb8f163f98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.060664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.069981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.089235s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_unknown_hosts [0.434729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.121130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_469_owner_admin_can_create_allocation_with_their_uuid [0.176364s] ... 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-b55a118f-8344-4d43-a5b9-baf7b4f420d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.pxe_filter.test_dnsmasq.TestHelpers.test__get_allowlist [0.045938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.066745s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_denylist [0.046789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.093709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_allowlist [0.063846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.075208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_470_owner_manager_can_create_allocation_with_their_uuid [0.167079s] ... 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-f487ff00-d158-4b89-87a9-8baade9afc5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_denylist [0.043145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.074948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_471_third_party_admin_cannot_read_an_allocation [0.135373s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/366defc5-fd53-4c86-9e83-0a536743b2c5 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02901d4c-f470-4a28-b712-28b16f15b336 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 366defc5-fd53-4c86-9e83-0a536743b2c5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.096129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.058570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.119529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_472_third_party_admin_cannot_patch_an_allocation [0.217361s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/4fe30273-dc03-47ea-a26c-213e41027057 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-ee4892fe-4b62-4fa9-a7e5-18552961bb76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 4fe30273-dc03-47ea-a26c-213e41027057 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.541593s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.127129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_473_third_party_admin_cannot_delete_an_allocation [0.172157s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/cd1aade1-38c9-46ea-8a30-a9104be42529 GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-baab2ef3-8664-4217-a96c-f6ab47009918 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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 cd1aade1-38c9-46ea-8a30-a9104be42529 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.121282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.210080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.109236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_474_owner_reader_can_read_node_allocation [0.181799s] ... 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-b243535a-e38c-4ee9-8bcd-bf475eb9fbcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "3d8b093f-07e5-452e-a17e-55756e61fa86", "created_at": "2024-03-18T18:18:14.726771+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/3d8b093f-07e5-452e-a17e-55756e61fa86", "rel": "self"}, {"href": "http://localhost/allocations/3d8b093f-07e5-452e-a17e-55756e61fa86", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.169985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.127193s] ... 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/tmpddo0_yin/tmptnkcpk6p' DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_475_lessee_reader_can_read_node_allocation [0.163178s] ... 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-f8fb72a1-0f44-440f-bbe8-b11e6c7f536f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "595d42c7-8f86-4dcc-821e-4dd875467400", "created_at": "2024-03-18T18:18:14.898127+00:00", "updated_at": "2024-03-18T18:18:14.903829+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/595d42c7-8f86-4dcc-821e-4dd875467400", "rel": "self"}, {"href": "http://localhost/allocations/595d42c7-8f86-4dcc-821e-4dd875467400", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.053964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.056046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.158801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.049454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_476_third_party_admin_cannot_read_node_allocation [0.142310s] ... 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-8f5c79d1-0f13-4126-828a-0eddf85b53d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.047932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.031624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_477_owner_admin_can_delete_allocation [0.084772s] ... 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-dbbbcaa4-cfed-48e9-96e8-e17e60df68b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.043158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.182078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.068258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_478_owner_manager_can_delete_allocation [0.079006s] ... 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-af480e19-c7b6-4a68-b9dd-916c346cbf01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.065179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_479_lessee_admin_can_delete_allocation [0.110388s] ... 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-9245fad5-0bdc-44e7-9ab5-5808612f547d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.184922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.109649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_480_lessee_manager_not_delete_allocation [0.081688s] ... 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-67c938d5-e20f-4505-98f8-462aaed294ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.039780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_481_third_party_admin_cannot_delete_allocation [0.083884s] ... 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-2c26bf24-d674-46b7-8373-198cfab175d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.182249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_482_owner_reader_cannot_get_deploy_templates [0.074965s] ... 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-9bae66a6-6357-4c5f-ba36-8361a1608ce5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACProjectScoped.test_project_scoped_483_lessee_reader_cannot_get_deploy_templates [0.077994s] ... 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-13d9d71d-b9a3-411a-9b54-28c6d2729c65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.103442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.060310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_484_third_party_admin_cannot_get_deploy_templates [0.092134s] ... 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-eed2b2ef-b1de-477e-a9d0-6737a4630d29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.336759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.061777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.043228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_485_third_party_admin_cannot_post_deploy_template [0.103378s] ... 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-c9f2b08d-89a7-4c3a-bf79-c62ddba200ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.038114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.036850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.111254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.026566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_486_service_cannot_get_deploy_templates [0.073546s] ... 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-40026586-863d-4065-94f6-87b62bd3eb1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.042543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.078859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.037417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_487_service_cannot_post_deploy_template [0.113189s] ... 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-e4d3f929-2565-4ada-862c-3973222854b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.067420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.048858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.045998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_488_owner_reader_cannot_access_chassis [0.064530s] ... 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-f4fd932f-5042-44e1-9adb-013d24d1c71c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.061482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.107092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_489_lessee_reader_cannot_access_chassis [0.071975s] ... 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-ee8b801b-d81a-4be6-a8dd-b164e3c6c881 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.055063s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.058209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_490_third_party_admin_cannot_access_chassis [0.073366s] ... 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-58073574-f63c-4775-a45b-858c6e935a40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.040554s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.071148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.053780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.064602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_491_third_party_admin_cannot_create_chassis [0.101128s] ... 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-a0351146-b2a6-4e00-8a1c-9595ac71328a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.079979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_492_service_cannot_access_chassis [0.078377s] ... 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-d8ea473f-323b-4169-b086-e3476d43075f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.138929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.071787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.113981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_493_service_cannot_create_chassis [0.129596s] ... 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-a05c2b55-5acb-4dc6-b536-3684474e631d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.097898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.055970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.044492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.074916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_494_node_history_get_admin [0.110288s] ... 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-825b4632-d93b-43d5-a5bc-751d0f6d9c54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "af933951-1e9e-4020-8d35-5e215b3d9a71", "created_at": "2024-03-18T18:18:16.690740+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/af933951-1e9e-4020-8d35-5e215b3d9a71", "rel": "self"}]}]} DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device [0.034620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device_inserted [0.045432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_495_node_history_get_member [0.088676s] ... 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-f7eca566-ca1c-4f28-898b-69bb861ac922 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "6a7534c0-1235-42be-bc62-e006821548cc", "created_at": "2024-03-18T18:18:16.778845+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/6a7534c0-1235-42be-bc62-e006821548cc", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.089127s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.069370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_already_inserted [0.107146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_496_node_history_get_reader [0.091610s] ... 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-3327342a-c1e4-4eb4-8c38-4112e6beab55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "ed1a78c8-408c-40dc-b281-d265550c89e5", "created_at": "2024-03-18T18:18:16.867116+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/ed1a78c8-408c-40dc-b281-d265550c89e5", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.064065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew [0.065438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.063213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd [0.084638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.036215s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.033519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd_retry [0.064606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.036681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.028905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.028805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_bad_device [0.066048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.025006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_while_ejecting [0.042366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_497_node_history_get_service [0.318764s] ... 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-f266fa3f-ac4e-4534-a705-6c90a20cfbd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7ca7efab-efb2-4565-8bc7-2fbfa1f55213", "created_at": "2024-03-18T18:18:17.203392+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/7ca7efab-efb2-4565-8bc7-2fbfa1f55213", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.032108s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.026783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_everything [0.047487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.025795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_498_node_history_get_service_cannot_be_retrieved [0.068662s] ... 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-44d9df54-3ee8-4424-adb9-ec7b4fd9731a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.025237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.026323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_499_node_history_get_entry_admin [0.066815s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/85131326-3956-434f-a03f-99cb0bb5fb36 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02f7e5e3-39f4-421a-808b-2c122b04ee3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.038133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.032298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_500_node_history_get_entry_member [0.070229s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/efe97c9f-0227-4115-a76e-e0ae2f34ac30 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-357113b3-ebb6-4777-9bab-dacb9883fcd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "efe97c9f-0227-4115-a76e-e0ae2f34ac30", "created_at": "2024-03-18T18:18:17.411678+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/efe97c9f-0227-4115-a76e-e0ae2f34ac30", "rel": "self"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.038153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.033573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_501_node_history_get_entry_reader [0.074525s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/fda73694-71d7-485d-8e88-7dcd63e4da2b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd5a5468-8435-49ae-92ca-a756f8c2ec5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "fda73694-71d7-485d-8e88-7dcd63e4da2b", "created_at": "2024-03-18T18:18:17.485015+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/fda73694-71d7-485d-8e88-7dcd63e4da2b", "rel": "self"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.031561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_from_all_resources [0.254006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.032560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_not_inserted [0.043980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_502_lessee_node_history_get_admin [0.070366s] ... 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-db83cbe6-2eba-4e5d-a5aa-15084b99f02c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.035523s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_specific [0.042826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.044144s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_unknown [0.043572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_503_lessee_node_history_get_member [0.090180s] ... 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-3a0df908-201d-43b8-8f53-eef6c3b970f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.043014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.050666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.047212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.033447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.039332s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.020860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.039025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.035658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_504_lessee_node_history_get_reader [0.142122s] ... 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-342f6f87-603c-43ac-bf55-a7a618a141ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.043921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.055905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.031767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_505_lessee_node_history_get_entry_admin [0.078589s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/36d88dd6-3e75-4a4c-af46-77754d447f65 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b205cdd3-cd5b-4e8c-8013-ccaec5822085 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.049841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.024505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.064380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.067851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_506_lessee_history_get_entry_member [0.113169s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/351718e2-355d-475b-816a-68147682b070 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-11b89493-7269-4cf6-af92-7b695513fa9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.030601s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.023394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.025224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_507_lessee_node_history_get_entry_reader [0.070310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ff8244c6-865f-444c-ad46-b2e67d58da42 WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43b11588-9073-4de3-af1d-c63b33d7b80b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.022090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.023723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_508_owner_service_node_history_get_entry_reader [0.073310s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/e038ad7e-f5b4-47a5-bf23-50b3dc9201d2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a63a184-d9a6-440a-a330-7e3c5cff263e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e038ad7e-f5b4-47a5-bf23-50b3dc9201d2", "created_at": "2024-03-18T18:18:18.126616+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/e038ad7e-f5b4-47a5-bf23-50b3dc9201d2", "rel": "self"}]} DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.060897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.027135s] ... 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.test_acl.TestRBACProjectScoped.test_project_scoped_509_third_party_admin_cannot_get_node_history [0.076344s] ... 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-6cf5bc43-0422-41ef-94fe-ee2e5c5740e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.027336s] ... 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.025631s] ... 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.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.307807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.026713s] ... 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_source_not_known [0.022993s] ... 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.test_acl.TestRBACProjectScoped.test_project_scoped_510_node_history_get_entry_service [0.084491s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/5780a198-c612-445c-b35b-7c32b96f290d WITH {} GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d30eb307-eb40-4602-b60c-b8112bc614ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.056801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.025846s] ... 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.027838s] ... 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.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.050395s] ... 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.030080s] ... 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.test_acl.TestRBACProjectScoped.test_project_scoped_511_node_inventory_get_admin [0.088601s] ... 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-92f9f2f0-f56b-4adb-bb75-0b18fe4dfcfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.025726s] ... 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.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [0.063957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.037636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.025582s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha256 [0.028386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.064074s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha512 [0.041569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_512_node_inventory_get_member [0.127415s] ... 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-33003034-5e79-4080-a22b-5450b3e1a9f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.044624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.036202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.042557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.095276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.035887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.026392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.078069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.039935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_513_node_inventory_get_reader [0.195735s] ... 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-aa3dbf3f-10b7-472d-ab38-0982b8d1d7d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.045120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.057414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.043094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.060221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.029470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.049196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.051985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.026757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_514_lessee_node_inventory_get_admin [0.194144s] ... 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-f3b51c42-90c8-41c1-b793-c7b807bd3844 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.031757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.063456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.032943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.028567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.055320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.046340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_515_lessee_node_inventory_get_member [0.154096s] ... 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-8a0e914b-ec0d-4a46-a043-4ddb12a018b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.077653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.064563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_516_lessee_node_inventory_get_reader [0.120504s] ... 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-1c5fb70a-b78c-48f9-8d6a-74bf760b61cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.129143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_517_shard_get_shards_disallowed [0.118869s] ... 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-a030411e-aad8-4524-9585-4ef4a8f90238 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.273476s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.066603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.060722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.067228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.045292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.029376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.063923s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.028263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_518_shard_patch_set_node_shard_disallowed [0.169404s] ... 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-69b89d9f-9a25-4c8f-94e0-120a3e703533 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.045967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.061976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_519_parent_node_patch_by_admin [0.088919s] ... 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-92e02484-fcea-4b53-96bb-05e3a57ae949 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.057580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.075416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_520_parent_node_patch_by_member [0.081204s] ... 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-f872e65e-1fee-4763-964d-d690ef2de145 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.062712s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.069172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.081114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_521_parent_node_patch_by_reader [0.088794s] ... 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-24e2b07f-4514-4b11-a41b-e590f8136456 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.115023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.070759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_522_parent_node_patch_by_manager [0.080263s] ... 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-6a44e17f-071a-4d25-818c-2cf9f83cad4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.096502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.074809s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_523_parent_node_patch_by_cannot_see_node [0.082964s] ... 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-baa0d26a-5c45-49b8-9422-0e15dae2b7d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.056421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.061674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.051998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.045594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_524_parent_node_children_can_get_list_of_children [0.090089s] ... 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-4cb2a84f-b79a-46e9-9a5e-b7279deb16fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.043220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.062021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.043206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.045114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_525_lessee_cannot_get_a_nodes_children [0.126072s] ... 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-a29a1352-cdfa-4f8a-bdb8-a8f710208056 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.055935s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.055813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.038595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.055659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_526_owner_reader_can_get_firmware_components [0.086358s] ... 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-49b927bb-9f45-4a8e-975c-e0f2662aed1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.061121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.069045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.050964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_527_lessee_reader_can_get_firmware_components [0.100996s] ... 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-2baa4509-d4fc-47c8-b918-1f685c07608e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.070922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.050763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_528_third_party_admin_cannot_get_firmware_components [0.078079s] ... 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-111844e0-3ae1-4f10-a33e-5d73bc8c4d12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.090317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.050469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_529_service_can_get_firmware_components_owner_project [0.078506s] ... 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-95efb975-21da-46ad-b018-e0edbbb48f0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.api.test_acl.TestRBACProjectScoped.test_project_scoped_530_service_cannot_get_firmware_components [0.068890s] ... 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-e47a91a4-8928-417c-92ee-d2e7f317cad3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.091751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.041929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.235751s] ... ok DEBUG util.py:445: {0} 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.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.057024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.045219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.079390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.068702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_002_nodes_post_admin [0.102877s] ... 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-16817d81-4265-4a0f-abfa-a8309e6c1b19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.046458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.066715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.054005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.046035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_003_nodes_post_member [0.103690s] ... 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-9a56a437-3eaf-44ec-b5d7-53ea30d331cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.050833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.072486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.045353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_004_nodes_post_reader [0.100612s] ... 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-75b134ae-2781-4f26-bfe1-52555cb72f86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.072137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.056777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.051634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_005_nodes_post_service [0.118024s] ... 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-506b952a-cacd-4ff0-b3fe-6ad3d78dd519 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.043383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.134604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.156957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.245543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_006_nodes_get_node_admin [0.282940s] ... 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-4148f0d8-5b2d-4484-9980-2821f4f0d920 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:21.132597+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.050592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.160400s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.056872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_007_nodes_get_node_member [0.099976s] ... 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-a3a978e7-e216-49de-aa63-876a0fc761d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:21.415888+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.055620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.027553s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.097704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_008_nodes_get_node_reader [0.085654s] ... 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-b72736e4-054f-4857-9213-0ae3f38e9dbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:21.512106+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.052802s] ... ok DEBUG util.py:445: {0} 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.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.050361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.136112s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_010_nodes_get_admin [0.071285s] ... 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-21d91479-2464-4437-b1c7-91932623c015 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "007301d1-9118-4ab6-a0ae-7c1ec0a5ec4f", "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.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.058941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.052565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.101254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_011_nodes_get_service [0.086203s] ... 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-0e60adf8-d7ef-4b61-9059-d5482f641119 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7cc1050d-404d-4a9a-9982-adbaff1959ca", "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: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.052288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_012_nodes_get_service_project [0.087874s] ... 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-2d664cef-a727-4eaa-9851-58d4d5d8d4e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "763976fd-ee7a-4f67-b289-2de7b4c5cd8f", "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.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.122237s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.058985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.057556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.072807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_013_nodes_get_service_project_disabled [0.089780s] ... 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-fb48a479-c4f2-4f95-834e-0364edfea671 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.054544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.058338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_014_nodes_get_service_project_admin [0.078922s] ... 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-48efade6-b7da-4314-b054-b1fb03d869b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.068468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.054995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.065693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_015_nodes_get_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.073531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.049524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.050193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.084923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_016_nodes_detail_get_admin [0.095842s] ... 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-e724bc31-f979-4d21-ad07-27df38fc25f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:22.189057+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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-18T18:18:22.190403+00:00", "updated_at": "2024-03-18T18:18:22.193998+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": "d154c50b-499f-471f-8b8e-48ef559d5d7a", "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": "d154c50b-499f-471f-8b8e-48ef559d5d7a", "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-18T18:18:22.212623+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_deploying [0.060028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.081018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_017_nodes_detail_get_member [0.094600s] ... 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-9a4d9774-c3b8-4f42-b731-9923dc0141d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:22.293203+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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-18T18:18:22.294682+00:00", "updated_at": "2024-03-18T18:18:22.298326+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": "a5a49540-ae49-4a61-bd60-0e0f0eac2b38", "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": "a5a49540-ae49-4a61-bd60-0e0f0eac2b38", "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-18T18:18:22.318480+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.051892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.054272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_018_nodes_detail_get_reader [0.088931s] ... 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-0482b16d-c765-4e55-abba-9d4b0bc9fe69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:22.372099+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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-18T18:18:22.373597+00:00", "updated_at": "2024-03-18T18:18:22.377178+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": "17ec4a5d-45ab-457f-adae-115df41e94b3", "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": "17ec4a5d-45ab-457f-adae-115df41e94b3", "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-18T18:18:22.394321+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.060664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_019_nodes_detail_get_service [0.085898s] ... 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-2f35aa99-a581-4dc6-86c1-c910c4bd4a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:22.460856+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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-18T18:18:22.462214+00:00", "updated_at": "2024-03-18T18:18:22.465801+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": "3ccc2f01-aefc-4997-82a6-8d627a9eb18f", "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": "3ccc2f01-aefc-4997-82a6-8d627a9eb18f", "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-18T18:18:22.488699+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.058991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_020_nodes_node_ident_get_admin [0.077180s] ... 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-e0f0f079-eeb9-4ed7-8cd8-aad7154011f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:22.554922+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.072095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.063874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_021_nodes_node_ident_get_member [0.106025s] ... 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-6b759ea5-c477-49cb-a423-9bbbc2a96490 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:22.640622+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.063681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.050433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_022_nodes_node_ident_get_reader [0.094096s] ... 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-a903853c-bfb1-4c72-949e-c39d582ee9a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:22.736161+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_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.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.470621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.048366s] ... 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.060315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.131292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system [0.047647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_023_nodes_node_ident_patch_admin [0.157333s] ... 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-458e5e3c-a831-46b2-811c-189154b2e632 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system_exception [0.044599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.046056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.112892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.047848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_024_system_admin_can_patch_chassis [0.151182s] ... 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-193438ed-afab-40f4-82ac-8fcd7d84c609 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.091771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_create_subscription [0.065254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_operation_exeption [0.058684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.102756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_memory.MemoryTestCase.test_memory [0.061192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_025_system_member_can_patch_conductor_group [0.161228s] ... 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-608d8d9a-8801-4cb5-beb9-f5fb823c0505 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.102331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_add_ports [0.097613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.045810s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_duplicates [0.071555s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.050322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.055665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.045481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.027904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_026_nodes_node_ident_patch_member [0.302781s] ... 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-a7c37c9b-0643-4d81-8d57-ca110976a604 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.038516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.040315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.029472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.027759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.035384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.034105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.028866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.021250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_027_nodes_node_ident_patch_service [0.264873s] ... 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-4c21ed19-a750-4bad-8790-9dd046aa92a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.033663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.033579s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.031899s] ... 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.019674s] ... 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.022256s] ... 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.018393s] ... 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.020795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client [0.589267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.023045s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.029718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.026195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_028_nodes_node_ident_patch_service_project [0.264304s] ... 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-9ba23421-b64d-4d63-ab8d-d2552e1dd7f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.024306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.027436s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.026811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.027628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.025958s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.024074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_029_nodes_node_ident_patch_reader [0.170774s] ... 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-9fac3d75-1c6b-4017-8063-288e2a88528d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.027120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.043265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.024913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_connection_problem [0.388315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_030_nodes_node_ident_delete_admin [0.162651s] ... 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-66b99b6f-7811-4001-9b72-be449d3f9f82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.129965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.079250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_031_nodes_node_ident_delete_service [0.156854s] ... 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-23d1a092-0167-4afe-acbf-0510b9d9226c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.051870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.076454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_standalone [0.378789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_032_nodes_node_ident_delete_member [0.161118s] ... 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-ee9f5fdb-0315-4524-945d-48fe4a0af64c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.130569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_exception_ignored [0.041623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.043221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_check_inspecting [0.032407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_finished [0.028022s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.051196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspecting [0.028106s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_033_nodes_node_ident_delete_reader [0.133807s] ... 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-e5e87e0f-3cca-4d05-ac76-718062f786ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspector [0.026574s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.063698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.040784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.023000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_boot_clean_up_failed [0.096137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.021658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.021748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_034_nodes_validate_get_admin [0.173771s] ... 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-7e58251d-9ea6-4c8d-9725-fd593505d9a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.028807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.022046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.022921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.022095s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.021680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.040292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_035_nodes_validate_get_member [0.139775s] ... 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-ef49e9b3-479a-420a-9dca-93fa29d8af0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.035561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.030951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.039708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.032586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error [0.359796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.024836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.025862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_036_nodes_validate_get_service [0.197383s] ... 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-572d65b8-2150-4c57-97cb-fc71f0fd3030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_dont_store_inventory [0.039173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.032176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.026760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_managed [0.047108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.024539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_managed_no_power_off [0.036328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.023367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.020611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_037_nodes_validate_get_service_project [0.121192s] ... 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-83600b5f-17f2-4276-a29d-cd18f3977302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.020906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_network_clean_up_failed [0.059271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.022851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.021816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_038_nodes_validate_get_reader [0.077207s] ... 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-caa16af9-858d-476e-adce-54d1a8ae4d27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.020942s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok [0.074331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.027001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_039_nodes_maintenance_put_admin [0.070987s] ... 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-ff356867-94fd-47f8-94fa-dad02f6ebae4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScopedRequests.test_system_scoped_040_nodes_maintenance_put_member [0.080623s] ... 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-77f16e0e-04b2-4d41-abca-56585ae7292e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_managed [0.131962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_041_nodes_maintenance_put_reader [0.087303s] ... 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-92e3d14f-a756-4452-bcde-08f886e34ec9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.087211s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.274926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_managed_no_power_off_on_fast_track [0.074454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.023802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.026732s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory [0.066204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.028926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.025107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory_nostore [0.075014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift [0.043781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift_exception [0.032889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint [0.050538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_042_nodes_maintenance_delete_admin [0.283294s] ... 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-71492aea-7d81-4e4a-b8aa-870a6b023770 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__store_inspection_data_in_swift [0.031584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.041150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db [0.044995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.030661s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db_exception [0.025395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_043_nodes_maintenance_delete_member [0.073619s] ... 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-ae009b95-66eb-4637-89d5-6391e4c77eb2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.025599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_nostore [0.025324s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_properties [0.026010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift [0.031387s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_044_nodes_maintenance_delete_reader [0.069002s] ... 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-6e6fd2ea-9b08-4210-944a-c43eba3beb95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift_exception [0.024951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_validate_ok [0.058626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_db [0.037024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_nostore [0.025980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_045_nodes_management_boot_device_put_admin [0.081613s] ... 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-63707678-1dc2-485b-a294-a4b565be9915 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_swift [0.027762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_custom_params [0.112603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc [0.046906s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_046_nodes_management_boot_device_put_member [0.071926s] ... 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-6119574a-0ddb-48bd-8873-fb9bd5002964 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac [0.059485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_error [0.067927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_047_nodes_management_boot_device_put_reader [0.087961s] ... 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-233fb36a-a9d8-4824-9803-d39a75ee0a47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_and_uuid [0.049235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track [0.057952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_not_found [0.045044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.069514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_not_found [0.062864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_ok [0.063583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_wrong_state [0.065218s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_048_nodes_management_boot_device_get_admin [0.190621s] ... 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-a3a4bd67-114c-49cc-b0e1-8e808687f4e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_require_managed_boot [0.033645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_not_found [0.046890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_unmanaged_error [0.040188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_unmanaged_ok [0.036275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_049_nodes_management_boot_device_get_member [0.095053s] ... 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-da3bf29c-a15b-4168-b553-74b0f4e1ef87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_ok [0.030359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_wrong_state [0.081553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_require_managed_boot [0.030333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs [0.050742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.053071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_050_nodes_management_boot_device_get_reader [0.101804s] ... 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-1f5c1c47-0886-4496-905e-4dc2c015d2fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs_partial [0.056407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.052819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.045423s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_unknown_bmc_and_mac [0.062920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_051_nodes_management_boot_device_supported_get_admin [0.129906s] ... 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-72f55f3a-62f0-495c-8794-87c582fee322 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.044955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid [0.061173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.041479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_and_unknown_macs [0.044231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_052_nodes_management_boot_device_supported_get_member [0.081726s] ... 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-21a0b4b7-abce-444e-975a-4ec243e0fe18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_not_found [0.045966s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.077135s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_053_nodes_management_boot_device_supported_get_reader [0.080541s] ... 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-5dff7f65-4c08-4944-aed6-1f8481702f77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.050246s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_wrong_state [0.059828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_bmc_and_uuid [0.065042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_054_nodes_management_inject_nmi_put_admin [0.109467s] ... 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-b440da38-03fd-441c-b0a6-c99491ec968a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.096628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs [0.051037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.078794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_bmc [0.079942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_055_nodes_management_inject_nmi_put_member [0.104427s] ... 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-ad020408-bc21-4c7b-bfa3-88c25b750a71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.046373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_uuid [0.050916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance [0.076227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc [0.054707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_and_unknown_mac [0.045530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_056_nodes_management_inject_nmi_put_reader [0.198265s] ... 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-6cfb3d0f-ebe7-4b37-aa60-83d5f29270ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_resolved_by_macs [0.050739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_active [0.109176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_no_input [0.049991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.044764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.112297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.043398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.028984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_057_nodes_states_get_admin [0.180814s] ... 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-85a05e9f-8498-489e-9201-2b08c9abf7f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.031181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.084601s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.036050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_lenovo [0.062874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.042497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_058_nodes_states_get_member [0.096983s] ... 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-0757ee5b-e270-455c-a68b-8f1507db9e48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.030793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.039761s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.109979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.034524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_059_nodes_states_get_reader [0.122536s] ... 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-191af9d3-9cdb-4f04-9f9d-130d656ecb6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.042367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.038102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.029003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_060_nodes_states_power_put_admin [0.115324s] ... 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-93b19202-1ff1-41d2-abaf-49d3ea5d51a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.036128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.040534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.040003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_061_nodes_states_power_put_member [0.106352s] ... 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-3a9769c7-8a02-438c-aff1-307dbf24e1b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.256148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.030413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.027870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.029069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_062_nodes_states_power_put_reader [0.091800s] ... 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-25a18e70-91c6-4bee-97a1-ea8089c1fee5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.028840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.029659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.031642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_063_nodes_states_boot_mode_put_admin [0.112806s] ... 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-fb5940c4-c577-4e44-b4b9-138c21dd89dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.035195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.211879s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.041352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.033358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.033593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_064_nodes_states_boot_mode_put_member [0.134474s] ... 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-96d2bbca-d6e7-419a-9603-ddf0bda8316e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.035171s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.056142s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.036217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_065_nodes_states_boot_mode_put_reader [0.115524s] ... 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-5eb26309-db44-4fc5-a6e7-6295a9a6fe1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.030881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.031542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.280182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.029190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_066_nodes_states_secure_boot_put_admin [0.089836s] ... 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-d24d18b0-3a8e-43e0-881e-a76ea03e01ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.029188s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.029526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.030795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.035101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.039779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_067_nodes_states_secure_boot_put_member [0.173718s] ... 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-8225c90a-d0cd-4f50-8f31-e70b9a72fa0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.031609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.271454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_068_nodes_states_secure_boot_put_reader [0.128712s] ... 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-c5562183-1295-480a-ab78-50c0a71707a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.123705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_069_nodes_states_provision_put_admin [0.082817s] ... 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-92ad5619-cb49-4cf2-af1b-71efd010dae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.093831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_070_nodes_states_provision_put_member [0.097741s] ... 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-f6e5e269-8dce-4198-a547-fa60a0842f94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.305959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.030271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_071_nodes_states_provision_put_reader [0.075123s] ... 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-296db52b-f892-474d-98eb-e586e0ac4009 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.035843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.029134s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.044134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_072_nodes_states_provision_put_service [0.089607s] ... 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-344c40a8-942f-4d69-864f-8c8ea02a00eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.028632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.040439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_073_nodes_states_raid_put_admin [0.082523s] ... 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-381b1cd7-4f5f-4c8e-98c4-2e943ba939bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.041019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.280359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.033373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_074_nodes_states_raid_put_member [0.092902s] ... 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-ea50a6cc-67b0-4276-9a2d-55d0bc504e36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.054973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.091346s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.037540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.030892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.083576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_075_nodes_states_raid_put_reader [0.104737s] ... 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-c5b0bd61-8c09-4e25-8825-f0193e2fe255 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.045608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.031198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_076_nodes_states_console_get_admin [0.082146s] ... 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-a89cdfa4-c126-4717-b2de-a61f91bf3a48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.086798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.031864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.038900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.033895s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_077_nodes_states_console_get_member [0.094757s] ... 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-9895fde8-27d5-4ce2-8d99-c74f5be86e53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.103290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.038697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_078_nodes_states_console_get_reader [0.076381s] ... 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-b3e456e9-a959-4a60-a508-e3b2a2b4e63b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.087067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.097079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_079_nodes_states_console_get_service [0.080037s] ... 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-365e6fc8-3098-4a9b-9f49-0f92fc2948a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.091603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.113375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.066969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.083971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.053388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.047269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.042718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.091000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.040588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_080_nodes_states_console_put_admin [0.284562s] ... 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-d8470701-df78-4d1d-b786-184a8377815f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.039672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.049465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.037575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_081_nodes_states_console_put_member [0.072605s] ... 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-67c0160c-d30b-4e72-a46c-450f270ec6ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.027565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.054809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.031532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.064920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.055491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_082_nodes_states_console_put_reader [0.100243s] ... 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-32d69767-34f9-4735-9339-d60fd4881c05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.053597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.074361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.029147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.038329s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.069986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.026774s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.027774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_083_nodes_states_console_put_service [0.183429s] ... 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-8b26c729-cb76-4309-b9a3-ade8c42f407f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.038848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.081880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.033138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.061564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.048269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_non_local [0.054723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.041625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_084_nodes_vendor_passthru_methods_get_admin [0.162139s] ... 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-2fde5923-4edd-4d6b-9664-61bc5f8a1ad8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.031621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.049001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.029491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.045066s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.084867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.033391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_085_nodes_vendor_passthru_methods_get_member [0.126104s] ... 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-f83b4f44-28ad-4b36-bbc6-09d717918570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.030148s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.062779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.030201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.057311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.040097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_086_nodes_vendor_passthru_methods_get_reader [0.095778s] ... 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-98011913-1e9d-49df-b258-ee18cab44ca5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.022647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.022525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.023050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.067272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.031425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.019854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.056139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_087_nodes_vendor_passthru_get_admin [0.132711s] ... 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-e6fdf17b-a1c0-4a8c-8e0b-7b7edaac65b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.021697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.021468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.020477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.055303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.033960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.028244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.032747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_088_nodes_vendor_passthru_get_member [0.154836s] ... 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-65bd40bb-8824-4d3f-a517-6832202f6af3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.122638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.031455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.066984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.058138s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.040464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_089_nodes_vendor_passthru_get_reader [0.142567s] ... 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-2e9c5fdc-3934-4a45-93bd-c4aaa244bc84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.059729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.034937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.070865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.047017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_090_nodes_vendor_passthru_post_admin [0.121271s] ... 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-611c140d-6e30-410b-a2ee-e668ab9c5569 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.049141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.051690s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_091_nodes_vendor_passthru_post_member [0.073191s] ... 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-3c874cc0-a233-4fc1-976f-e451acbced0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.156399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.064776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_092_nodes_vendor_passthru_post_reader [0.091029s] ... 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-03cb3ac9-5ea6-40db-886e-e08dfa2883e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.069614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.040730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_093_nodes_vendor_passthru_put_admin [0.091375s] ... 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-8180630a-2b57-4775-a45b-beb18a6c7d41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.053384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.201283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.030500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.029348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_094_nodes_vendor_passthru_put_member [0.087414s] ... 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-fbf152e7-b595-48c0-bab1-f89cff060696 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.032341s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.030048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_095_nodes_vendor_passthru_put_reader [0.076578s] ... 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-5b4bb432-cf2b-40f4-a16b-038b71a57877 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.038563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.140839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.028115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.025383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_096_nodes_vendor_passthru_delete_admin [0.072140s] ... 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-82190cd1-2f26-437a-98fd-b70dc6ca6b3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.027475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.028388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.033298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_097_nodes_vendor_passthru_delete_member [0.087134s] ... 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-fde219b9-d4e4-4d84-b7d0-712394da0716 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.146518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.027683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3 [0.025297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_098_nodes_vendor_passthru_delete_reader [0.072746s] ... 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-5a7d7c80-5af8-4832-8873-ecf1d37bb3a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.071548s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.028269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security [0.029669s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.027293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.061652s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_099_nodes_traits_get_admin [0.083898s] ... 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-ccb815e1-a9e4-4f32-838c-80ce409fc42c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.026541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.040525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.033358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_100_nodes_traits_get_member [0.079652s] ... 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-3e818660-ac6a-4e52-8a0f-54b6b8ec8251 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_ipmi [0.047653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.066347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_redfish [0.059881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.066579s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_101_nodes_traits_get_reader [0.073737s] ... 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-fa2a5cd3-1e40-40be-9082-7ba3e515504f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.056407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_102_nodes_traits_put_admin [0.128823s] ... 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-ede5d535-42b2-4e6e-829f-7ecd3aa798a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.130457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.220702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_103_nodes_traits_put_member [0.089879s] ... 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-fc7c2098-0c71-4c2a-b5a3-2bff77b6ab6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ng_redfish [0.070488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_104_nodes_traits_put_reader [0.070318s] ... 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-3702c2f2-0740-4da6-a946-9a3a750d3de2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_configdrive [0.145369s] ... 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.067792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_105_nodes_traits_delete_admin [0.068941s] ... 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-a1bd4d88-f933-44d3-bf79-0c6786b6f867 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_ipmi [0.052813s] ... 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.052548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_106_nodes_traits_delete_member [0.103329s] ... 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-1518cb85-e477-43b3-af21-cdc5dcfb2dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.TestRBACScopedRequests.test_system_scoped_107_nodes_traits_delete_reader [0.081253s] ... 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-c04f7cfa-646f-48da-ad3e-317345524b71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_ipmi [0.131209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.296217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_108_nodes_traits_trait_put_admin [0.077448s] ... 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-3d7332fb-9c34-419f-9183-a62d0bc8a85b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_redfish [0.101054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_ipmi [0.064585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_109_nodes_traits_trait_put_member [0.174858s] ... 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-275afbe4-41ad-4f83-b235-3ed02283da8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_redfish [0.059414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.048452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.047896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.041798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_110_nodes_traits_trait_put_reader [0.156753s] ... 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-2b69a1eb-c16f-4176-962a-6b45ee435256 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng_ipmi [0.063633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.472994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_111_nodes_traits_trait_delete_admin [0.158703s] ... 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-6e348087-743a-4593-ba3c-347a8a7611f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.061049s] ... 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.158954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.044569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_112_nodes_traits_trait_delete_member [0.110875s] ... 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-aa0ba8ef-8290-4563-b06f-9aab7e5e3542 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.093086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom_ipmi [0.158373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_113_nodes_traits_trait_delete_reader [0.082192s] ... 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-2f8e3512-b922-4c94-bdab-fc858d2e5196 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.063196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.046902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_114_nodes_vifs_get_admin [0.088796s] ... 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-9f5dd9df-4a1c-4e7a-8315-14ef94a1e331 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk_ipmi [0.170613s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_115_nodes_vifs_get_member [0.092120s] ... 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-1ffeec8a-ec4e-4ba5-89a9-5edeab7605f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.110591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.063352s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_116_nodes_vifs_get_reader [0.096987s] ... 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-37cef33a-0e39-4c83-94db-37943887f005 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.053484s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.055020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe_ipmi [0.200932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.059010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.060932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe_ipmi [0.180850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.064296s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_fail_redfish [0.062908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.062372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_success_redfish [0.053668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.055232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_fail [0.044680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.063536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_success [0.044275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.044933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_fail [0.054783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_117_nodes_vifs_get_service [0.539137s] ... 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-5760755a-cad7-4f62-a818-8661df11c124 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.045929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.052509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_success [0.071219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.050986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_118_nodes_vifs_post_admin [0.125945s] ... 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-0d35c62e-a65d-49c1-b501-c91acf24a6a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.061551s] ... 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.131512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.063473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_119_nodes_vifs_post_member [0.121387s] ... 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-03c0f467-3be0-4173-849e-5a2ca9bc2c47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.056304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.051170s] ... 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.148057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_120_nodes_vifs_post_reader [0.101808s] ... 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-d1cdfaa2-0e45-4a08-9a6f-da440976d99b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.047572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.050841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_121_nodes_vifs_post_service [0.129999s] ... 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-dc3310b3-05e6-4adc-89f7-e9e972d47b09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.046445s] ... 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.156837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.043863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_122_nodes_vifs_post_service_project [0.118675s] ... 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-dbe080e8-2309-4c12-a161-4ef5b0bb1d3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.072589s] ... 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.136681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.071674s] ... 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.056241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_123_nodes_vifs_node_vif_ident_delete_admin [0.103838s] ... 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-da89c31d-4569-4dfd-ab26-df60cd10cb15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.049279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.046471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.047392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.045854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.047708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.039969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.035747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_124_nodes_vifs_node_vif_ident_delete_member [0.144576s] ... 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-f75e0fac-b2b9-4c0e-a7d8-6f495b5985e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.045565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.031161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.023991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.055527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.023109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.030426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.026254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.023412s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.035512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.021761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_125_nodes_vifs_node_vif_ident_delete_reader [0.175134s] ... 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-4ad4b4f1-483f-4983-b062-86fbabef0626 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.023300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.036621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.031898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.033800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.035933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.041795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.035158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.040361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.027089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.037693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_126_nodes_vifs_node_vif_ident_delete_service [0.181639s] ... 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-407d3d49-7450-4f36-a045-05927c1c1941 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.035177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.059287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.037201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.032471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.070741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.039450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.047472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_127_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_raritan_pdu2 [0.037465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.041442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.022219s] ... 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.080048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry3 [0.023550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry4 [0.022413s] ... ok DEBUG util.py:445: {0} 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: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.022359s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.078737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.021671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.022053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.022176s] ... 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.055840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.022491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.021602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.021449s] ... ok DEBUG util.py:445: {0} 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: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.020940s] ... 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.107151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.022669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.026982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.021881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.021318s] ... 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.097315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.030114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.022538s] ... ok DEBUG util.py:445: {0} 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: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.022731s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.023260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.104475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.030176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.028767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.034548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_vertivgeist_pdu [0.035802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_131_portgroups_get_admin [0.190389s] ... 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-e06b57e4-0014-48d5-aa0c-6462f377d182 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.145975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.048790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.020564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.019517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.024166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.092347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_132_portgroups_get_member [0.177436s] ... 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-62c9565a-e013-4ae0-80ff-0d163d108a02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.128267s] ... ok DEBUG util.py:445: {2} 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: {2} 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: {2} 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: {2} 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: {2} 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.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.229363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_133_portgroups_get_reader [0.165338s] ... 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-62ee5eb4-53c6-4ffa-a7db-937b8a9501a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.020452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.022290s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.020020s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.019360s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.025725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.021264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.233987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.042880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_134_portgroups_post_admin [0.191571s] ... 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/972fc210-4ba8-4584-b7b3-4878cd7e2554 DEBUG util.py:445: Openstack-Request-Id: req-309e49ab-9c97-45fd-bc63-b9ebd43b9c2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "972fc210-4ba8-4584-b7b3-4878cd7e2554", "created_at": "2024-03-18T18:18:37.243626+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/972fc210-4ba8-4584-b7b3-4878cd7e2554", "rel": "self"}, {"href": "http://localhost/portgroups/972fc210-4ba8-4584-b7b3-4878cd7e2554", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/972fc210-4ba8-4584-b7b3-4878cd7e2554/ports", "rel": "self"}, {"href": "http://localhost/portgroups/972fc210-4ba8-4584-b7b3-4878cd7e2554/ports", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.044765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.039518s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.029491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.041863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_135_portgroups_post_member [0.140994s] ... 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-5eae608c-beb3-4e35-848c-94cc66f01453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.051553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.233884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.046714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.045440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.042155s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_136_portgroups_post_reader [0.156090s] ... 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-52451143-b112-4df4-a957-a71d578a1949 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.050693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.064732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.046448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_137_portgroups_detail_get_admin [0.143767s] ... 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-22f28999-76be-41cb-84a0-885deee3d8f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:37.667108+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.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.043137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.057460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.044472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_138_portgroups_detail_get_member [0.157790s] ... 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-479182a0-d278-4b41-9005-b2317db8fc00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:37.832835+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.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.046017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.053658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.042959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.594175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_139_portgroups_detail_get_reader [0.167178s] ... 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-be31bf14-7d7a-4f47-b34e-c210ebc6df26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:37.983415+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.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.051697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.041611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_parse_sleep_range [0.042377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_140_portgroups_portgroup_ident_get_admin [0.163081s] ... 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-35e5cb65-072e-45e2-943f-723695b40da0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:38.149471+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.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.080039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.228765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_one [0.134168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_range [0.138013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_141_portgroups_portgroup_ident_get_member [0.297475s] ... 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-7576d2c4-cce9-445e-bf49-583bbe02c792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:38.363111+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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.366071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_zero [0.154683s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_142_portgroups_portgroup_ident_get_reader [0.275935s] ... 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-4758f5ef-df20-469c-9d8a-8cd3b27d318a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:38.656476+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.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.154339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_143_portgroups_portgroup_ident_patch_admin [0.135832s] ... 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-77c0fc5f-77b1-4f27-863e-f1351cbc38c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.108202s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.318788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_144_portgroups_portgroup_ident_patch_member [0.099701s] ... 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-4a62c758-7679-4592-b56d-4a9f9b4c5757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.112208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_145_portgroups_portgroup_ident_patch_reader [0.078409s] ... 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-f0efbe4f-98b7-4fe7-9acd-6cce94d86957 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.098018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.226492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_146_portgroups_portgroup_ident_delete_admin [0.101735s] ... 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-7f8aceb8-e91e-4d54-9ff7-86dbc44ebb70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.096920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_147_portgroups_portgroup_ident_delete_member [0.098693s] ... 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-d3f8b1a5-0386-4b63-b34a-b34e6de2f689 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.102324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_148_portgroups_portgroup_ident_delete_reader [0.083039s] ... 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-23c06b34-d900-4208-b00f-062563d2c829 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.091288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.254126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_149_nodes_portgroups_get_admin [0.094980s] ... 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-548e9ecf-c9d8-4d36-8dd8-11386fc8c20c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.098444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_150_nodes_portgroups_get_member [0.083183s] ... 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-3cfbf678-45ba-49a9-bc66-00cbb9732e0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.116219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_151_nodes_portgroups_get_reader [0.089566s] ... 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-3f843fda-be25-4667-9c9a-291880a9ccb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.272983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.110944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_152_nodes_portgroups_get_service [0.133405s] ... 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-62e41190-bde9-4284-948f-aed1204712bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.113336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_153_nodes_portgroups_get_service_project [0.108525s] ... 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-41539fce-03d3-488b-8d4c-d34465585a94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.194723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.116938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_154_nodes_portgroups_detail_get_admin [0.097547s] ... 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-e576131e-a76d-4828-9a47-c41a7a8494d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:39.980640+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.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.062670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.081248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.043681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.255913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.039738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.048932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_155_nodes_portgroups_detail_get_member [0.274543s] ... 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-01adee80-d3ff-48e6-b13b-ee9889a39eab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:40.259121+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.test_acl.TestRBACScopedRequests.test_system_scoped_156_nodes_portgroups_detail_get_reader [0.075718s] ... 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-4407662f-91ab-41bd-b52b-959f4c677327 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:40.336985+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.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.103412s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.214414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_157_nodes_portgroups_detail_get_service [0.088156s] ... 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-438883c6-c3eb-43fa-ba8d-f8294c38e5af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:40.415320+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.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.136103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_158_nodes_portgroups_detail_get_service_project [0.080672s] ... 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-22f3ea4a-7b59-454d-a1c5-99d700d327bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG 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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.120057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_159_ports_get_admin [0.076219s] ... 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-7b2199f0-3b09-418a-bab5-a4b769baa3af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.122745s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.118767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_160_ports_get_service [0.072349s] ... 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-231a149d-f979-432f-bd40-711274f17492 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.TestRBACScopedRequests.test_system_scoped_161_ports_get_service_project [0.068799s] ... 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-eb2d31f9-089e-424f-a1ba-eda8288359c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.122884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.115163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.046755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_162_ports_get_service_project_disabled [0.065180s] ... 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-48b382b7-2329-4a5c-9c20-126e63fd6888 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.051206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_163_ports_get_member [0.079947s] ... 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-af5a3a99-70e3-4d2c-9463-99d1d98ac9a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.172927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_164_ports_get_reader [0.074352s] ... 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-c3bbdd72-4232-47d0-8cf6-6f1d7b02625a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.137391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_165_ports_post_admin [0.081736s] ... 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-00327062-b471-4c06-806d-78465826a291 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-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: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.108449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.070450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.069620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_166_ports_post_member [0.098722s] ... 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-19371bf6-687c-4a75-a6da-62c191f6f28e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.objects.test_bios.TestBIOSSettingObject.test_create [0.040495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.151042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.074760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_167_ports_post_reader [0.100672s] ... 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-96ad9a1b-5b8f-47b9-9d32-301b1be5f9ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.objects.test_bios.TestBIOSSettingObject.test_get [0.078070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_168_ports_detail_get_admin [0.084296s] ... 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-502981e8-d6db-4e09-ba68-2d6b57469e7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:41.308382+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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.141868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.047813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.044424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.046737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_169_ports_detail_get_member [0.159380s] ... 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-63f73a78-583c-4467-867e-c3fe9b869a51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:41.440879+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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.155651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.052514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.048011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.049503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.136182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_170_ports_detail_get_reader [0.175276s] ... 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-b48d12de-bae3-4616-ad63-9c0cc84eecc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:41.589001+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.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.084040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.091899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.044705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.019968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.048224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_171_ports_port_id_get_admin [0.172146s] ... 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-027ced6e-5a29-4b17-9480-bb40ce81a8de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:41.763182+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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.135621s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.098648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.028841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.117511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.042168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_172_ports_port_id_get_member [0.152803s] ... 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-e0da3cb8-ad85-4038-9732-150ea7bbbdd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:41.938617+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.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.081630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.113836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_173_ports_port_id_get_reader [0.114112s] ... 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-aa4e4566-e368-4683-ae12-9233c9290b72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:42.083897+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.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.085000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.024483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.057692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.155535s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.034252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_174_ports_port_id_patch_admin [0.215487s] ... 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-48f256ff-b12a-4cfc-a948-89e30dbd8ede DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.074158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.122904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.075056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.038033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.139750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.058826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_175_ports_port_id_patch_member [0.197099s] ... 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-db58153a-8579-46ea-a15a-60a305dc9d00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.053189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.052739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.152053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.055800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_176_ports_port_id_patch_reader [0.189627s] ... 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-291de6ee-ad15-4e80-a185-147b12fc1a77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.049061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.052730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.114143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.058392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_177_ports_port_id_delete_admin [0.150062s] ... 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-3bb68d2d-a8cb-4d37-8507-3dc9778acfac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.045521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.117663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.046507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.075437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_178_ports_port_id_delete_member [0.144591s] ... 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-f16a183d-303d-4d87-a6e5-9f15f47affd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.034641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.139519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.048831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_179_ports_port_id_delete_reader [0.096446s] ... 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-bad43b73-4c4b-4483-b081-ea5204225381 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.051808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.106331s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.049996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_180_nodes_ports_get_admin [0.117756s] ... 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-29280c20-5ff7-4ea7-a3bc-2bcdbd0a85d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.052751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.057903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.159500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_181_nodes_ports_get_member [0.108265s] ... 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-59bd254b-eea5-448b-bf75-7d86fdd7d402 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.062354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.025571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.022083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.096894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.032389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_182_nodes_ports_get_reader [0.118784s] ... 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-3c5f0700-5fc4-485c-bf8e-db4fc9d31dd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.057225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.076880s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.064631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.063405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.054754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_183_nodes_ports_detail_get_admin [0.165079s] ... 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-3a5c8715-41d6-4618-a0ab-39129b14ce3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:43.532327+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.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.026678s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.057499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.069442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.051652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.061973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.051388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_184_nodes_ports_detail_get_member [0.166273s] ... 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-8e5faa04-4775-4314-9bc8-ac97d269a75c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:43.713632+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.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.045295s] ... 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.039198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.046692s] ... 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.041219s] ... 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.042305s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.049383s] ... 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.053815s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_supported_missing [0.047129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_185_nodes_ports_detail_get_reader [0.183842s] ... 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-804b2fe7-7cc4-4954-891d-02fc3bc89cb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:43.893088+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.objects.test_node.TestConvertToVersion.test_firmware_supported_set [0.064608s] ... 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.064997s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_missing [0.044721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_default [0.069064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_186_portgroups_ports_get_admin [0.206794s] ... 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-f2add929-7229-403d-ae6e-e46ea4cbf155 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_non_default [0.053493s] ... 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.225693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_remove [0.062299s] ... 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.037024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.046650s] ... 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.037690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.038097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_187_portgroups_ports_get_member [0.163819s] ... 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-71c3c29d-b8a2-43f8-8245-23272942686c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.041924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.060005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.052378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_188_portgroups_ports_get_reader [0.176915s] ... 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-310decef-82ad-4a87-bd0a-14b3a2f8121d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.055242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.059136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.057194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.052564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.076266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_189_portgroups_ports_detail_get_admin [0.296438s] ... 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-c869e804-a24c-470a-968f-9b010ba05f6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.586946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.086611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.039982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.055288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.085335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.076715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.063891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.057942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.052568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.069453s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.057970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.063644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.106515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.067467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.033850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.067592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.101765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.037181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.027472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.030343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_190_portgroups_ports_detail_get_member [0.656825s] ... 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-15bbcd89-de4d-4f07-b938-866f644db371 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.048437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.159872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.029583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.023320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.025214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.050816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.022331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_191_portgroups_ports_detail_get_reader [0.213007s] ... 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-4031c952-373c-4766-9ddd-35411f11efe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.028520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.022572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.031449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.236343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.052878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.043896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_192_volume_get_admin [0.172025s] ... 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-9d1bd770-00b2-429b-9d21-6431ca64de93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.022911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.101644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.021796s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.028384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.026299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_193_volume_get_member [0.111054s] ... 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-70e4554c-b0ed-47f0-85da-9676b5b17ed9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.020824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.096865s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.025945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.025183s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.024221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.085905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_194_volume_get_reader [0.129483s] ... 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-3b642791-2b53-4207-b283-aa32ac02c0b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.050546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.066583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.067346s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.035810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_195_volume_get_service [0.143310s] ... 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-bd33c118-f3b2-4f79-8932-ed4b0558d878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.036878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.139768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_196_volume_get_service_project [0.062397s] ... 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-8270338e-2621-458c-89c1-1d5dcc15a023 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node_history.TestNodeHistoryObject.test_get [0.079153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.078053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.055089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.048382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_197_volume_connectors_get_admin [0.090438s] ... 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-c38c9a30-2907-495f-aff7-f7383836911b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.051728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.064008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.025903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_198_volume_connectors_get_member [0.082913s] ... 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-866d6855-9978-4e4c-a25d-bb4babf804da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.072931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_199_volume_connectors_get_reader [0.100482s] ... 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-df73e392-976b-4cd9-b63f-6d6111e56938 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.142615s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.074448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.057358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_200_volume_connectors_get_service [0.108428s] ... 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-4a4db22f-f1b1-4822-b830-96c2aae6ec4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.101755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.049788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_201_volume_connectors_get_service_project [0.069356s] ... 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-d7611e32-21f2-4335-84ae-777dc9cd5ecd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.048840s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.116064s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.041531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_202_volume_connectors_get_service_project_disable [0.067857s] ... 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-326aa5d1-94f7-45b4-8fb7-dd29a5816645 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.043902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.090465s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.041383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_203_volume_connectors_post_admin [0.080296s] ... 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/0edf6424-e3bc-4831-8368-6fb60116a2fc DEBUG util.py:445: Openstack-Request-Id: req-60818e67-2220-47ba-9ef6-de8da78f86ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "0edf6424-e3bc-4831-8368-6fb60116a2fc", "created_at": "2024-03-18T18:18:46.925293+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/0edf6424-e3bc-4831-8368-6fb60116a2fc", "rel": "self"}, {"href": "http://localhost/volume/connectors/0edf6424-e3bc-4831-8368-6fb60116a2fc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.031034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.038052s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_204_volume_connectors_post_member [0.087672s] ... 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/03895edd-ebde-4bca-ad4d-94e81da9f9ba DEBUG util.py:445: Openstack-Request-Id: req-23fa3872-9e71-4239-a61c-22786278c50d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "03895edd-ebde-4bca-ad4d-94e81da9f9ba", "created_at": "2024-03-18T18:18:47.013964+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/03895edd-ebde-4bca-ad4d-94e81da9f9ba", "rel": "self"}, {"href": "http://localhost/volume/connectors/03895edd-ebde-4bca-ad4d-94e81da9f9ba", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.104137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.042402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.059551s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_205_volume_connectors_post_reader [0.090988s] ... 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-124960a3-3d05-45f1-96f6-09fb77424f72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.091203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.048720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_206_volume_connectors_post_service [0.090311s] ... 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/7b9e1be2-6623-4467-952c-a266c5d2aeee DEBUG util.py:445: Openstack-Request-Id: req-4cdaeea9-d1eb-4b4a-900e-62af28488cfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7b9e1be2-6623-4467-952c-a266c5d2aeee", "created_at": "2024-03-18T18:18:47.195836+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/7b9e1be2-6623-4467-952c-a266c5d2aeee", "rel": "self"}, {"href": "http://localhost/volume/connectors/7b9e1be2-6623-4467-952c-a266c5d2aeee", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.088720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.049965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.044384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.030421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_207_volume_connectors_post_service_project [0.089811s] ... 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/7374362d-775f-4ea7-a0b8-b65ea6b53d82 DEBUG util.py:445: Openstack-Request-Id: req-cec24961-15b6-43d1-840b-9445b0d70105 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7374362d-775f-4ea7-a0b8-b65ea6b53d82", "created_at": "2024-03-18T18:18:47.286304+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/7374362d-775f-4ea7-a0b8-b65ea6b53d82", "rel": "self"}, {"href": "http://localhost/volume/connectors/7374362d-775f-4ea7-a0b8-b65ea6b53d82", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.098493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.044917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_208_volume_volume_connector_id_get_admin [0.082215s] ... 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-ff2b7243-d452-4c73-a9d9-cc125729aa6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:47.348977+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.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.053992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.043583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.029078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_209_volume_volume_connector_id_get_member [0.083996s] ... 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-96e32cd0-77c6-4e23-a730-92f973fca20a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:47.432104+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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_done [0.159111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.055633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_210_volume_volume_connector_id_get_reader [0.070106s] ... 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-bf235b82-5b14-4e92-9ed5-75bf3b484261 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:47.501344+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.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.044833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_fail [0.105612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.048826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_211_volume_volume_connector_id_patch_admin [0.080798s] ... 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-d2b0694d-a5b0-4374-b9ad-6cb9b1b81025 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_update_in_progress [0.081128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.043046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_error [0.026781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_https [0.029495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.065511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_swift [0.028010s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.059502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_212_volume_volume_connector_id_patch_member [0.175426s] ... 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-6f614f9a-0a5c-4880-8308-d7dae7065027 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_conn_error [0.053012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.035522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.022303s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_still_waiting [0.050072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_task_monitor_not_found [0.058489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.082679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_wait_elapsed [0.051704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.044911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_213_volume_volume_connector_id_patch_reader [0.165873s] ... 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-0a6aa267-f18a-4dd6-99fa-d7aaa6088814 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.051513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.060772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_214_volume_volume_connector_id_patch_service [0.144191s] ... 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-9966b571-5bc2-4b90-8312-9fcac87c6e4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.060561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_change_state [0.033703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_update_waitting [0.224150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_last [0.047898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_deny_macs [0.083767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_more_updates [0.043809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_no_macs [0.025234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_215_volume_volume_connector_id_delete_admin [0.173336s] ... 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-29af9cde-1948-4147-80ad-3dd9e7dab076 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.pxe_filter.test_dnsmasq.TestSync.test_only_new_macs [0.026819s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_removed_nodes [0.021733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_no_update [0.020061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_allow [0.020929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_deny [0.020018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_216_volume_volume_connector_id_delete_member [0.101380s] ... 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-17d86d2b-3ff6-4f32-984d-609c5aba0679 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.test_base.BlockExecuteTestCase.test_can_mock_execute [0.025638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_create_all_components [0.164061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.018446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.019039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_217_volume_volume_connector_id_delete_reader [0.076691s] ... 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-d02bb6f9-6560-454e-8718-cce3b002d60f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_empty_settings [0.079225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_get_properties [0.042368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_218_volume_volume_connector_id_delete_service [0.096561s] ... 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-6277ddca-3ea2-4577-8eb1-5de475b0431b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_invalid_component_in_settings [0.058911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_219_volume_targets_get_admin [0.081991s] ... 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-58f62f49-0dfd-48ea-bacc-238dc44bd863 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_all_components [0.063790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_220_volume_targets_get_member [0.109070s] ... 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-7d64901b-06e7-4293-abcc-13de30f2c37c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bios_component [0.087411s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bmc_component [0.081259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_221_volume_targets_get_reader [0.106715s] ... 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-d74df9c4-3f1d-483e-a8fc-68f177855e3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_required_field_in_settings [0.069487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_222_volume_targets_get_service [0.076531s] ... 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-0837a92c-80b5-43ef-bc0f-ea3cc565f772 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_simple_update_action [0.057042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_updateservice [0.061606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_223_volume_targets_post_admin [0.114690s] ... 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/f3a2feab-ee60-4ba2-8f11-e6159002f0f3 DEBUG util.py:445: Openstack-Request-Id: req-e22fda0e-c1a9-412e-b7e7-b83bd4bfeceb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f3a2feab-ee60-4ba2-8f11-e6159002f0f3", "created_at": "2024-03-18T18:18:49.052591+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/f3a2feab-ee60-4ba2-8f11-e6159002f0f3", "rel": "self"}, {"href": "http://localhost/volume/targets/f3a2feab-ee60-4ba2-8f11-e6159002f0f3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_redfish_fw_updates [0.052353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_redfish_fw_updates_empty [0.049069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_224_volume_targets_post_member [0.107562s] ... 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/96f32fef-9407-46c5-8912-776b3c475ffc DEBUG util.py:445: Openstack-Request-Id: req-f1eba7f2-9f8d-4bce-a3da-9d014d80a7a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "96f32fef-9407-46c5-8912-776b3c475ffc", "created_at": "2024-03-18T18:18:49.160263+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/96f32fef-9407-46c5-8912-776b3c475ffc", "rel": "self"}, {"href": "http://localhost/volume/targets/96f32fef-9407-46c5-8912-776b3c475ffc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_validate [0.073114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_225_volume_targets_post_service [0.074262s] ... 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/1148721f-5115-423b-b67e-faf3d56e0e7b DEBUG util.py:445: Openstack-Request-Id: req-faebf091-f271-404b-bc56-3c55ad3e607f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "1148721f-5115-423b-b67e-faf3d56e0e7b", "created_at": "2024-03-18T18:18:49.235971+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1148721f-5115-423b-b67e-faf3d56e0e7b", "rel": "self"}, {"href": "http://localhost/volume/targets/1148721f-5115-423b-b67e-faf3d56e0e7b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_226_volume_targets_post_service_project [0.081031s] ... 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/a87ee901-56bd-4756-863c-5b0de766dd93 DEBUG util.py:445: Openstack-Request-Id: req-ee53389f-1ad6-4c64-b00c-3901b9f2f8df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "a87ee901-56bd-4756-863c-5b0de766dd93", "created_at": "2024-03-18T18:18:49.317392+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a87ee901-56bd-4756-863c-5b0de766dd93", "rel": "self"}, {"href": "http://localhost/volume/targets/a87ee901-56bd-4756-863c-5b0de766dd93", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.128870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_227_volume_targets_post_service_project_disabled [0.080814s] ... 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-7e09b41c-03a9-4225-bc81-8ced3f3c0a1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.065671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.036147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_228_volume_targets_post_service_project_admin [0.071389s] ... 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-f8e09e3d-731f-46de-b760-dcdd9a298571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu_arch [0.039888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.043230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.053131s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_count [0.047679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_frequency [0.069671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_instruction_set [0.064574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_229_volume_targets_post_reader [0.309417s] ... 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-aabfa701-bf78-4b09-9e25-976c80dce3a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.api.test_acl.TestRBACScopedRequests.test_system_scoped_230_volume_volume_target_id_get_admin [0.071465s] ... 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-d3c2264f-e5d3-4dd7-b417-f839497f4cfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:49.829313+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.TestRBACScopedRequests.test_system_scoped_231_volume_volume_target_id_get_member [0.086001s] ... 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-4a42bd23-7e2b-4485-a864-8834fab916f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:49.905236+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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_model [0.238900s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_232_volume_volume_target_id_get_reader [0.074411s] ... 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-bf1e1751-9f62-4d8a-b174-d4572d277c1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:49.990750+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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.049053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_233_volume_volume_target_id_get_service [0.075080s] ... 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-77499137-4068-495f-bba1-51a55011ecac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:50.066290+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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.049223s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.049152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_234_volume_volume_target_id_patch_admin [0.080898s] ... 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-469f76bc-a41b-40e8-afe0-47156d1cd220 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage [0.066899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_235_volume_volume_target_id_patch_reader [0.092247s] ... 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-5dd7e44d-623c-4bde-8ba4-88a2ce32a3c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage_and_storage [0.060229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_storage [0.061191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_236_volume_volume_target_id_patch_service [0.093067s] ... 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-dde4b14c-d11f-45a0-af07-bcc4c31d738d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_system_vendor [0.057349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_237_volume_volume_target_id_delete_admin [0.081795s] ... 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-151b090e-612b-4e4c-9aa4-2c5d43cbf0ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.048776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.068062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_238_volume_volume_target_id_delete_member [0.086799s] ... 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-13726534-804b-428f-899e-ace462e1d34f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.069259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_239_volume_volume_target_id_delete_reader [0.067532s] ... 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-cbdc9bed-28f3-42c5-b0c7-4134b01e546e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.058495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_240_volume_volume_target_id_delete_service [0.082505s] ... 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-573cde53-4707-4f88-9ef2-0dde507279a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.060160s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_241_nodes_volume_get_admin [0.080920s] ... 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-4cf722ed-3173-48b0-ae78-7f13be94fb6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.078072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_242_nodes_volume_get_member [0.083029s] ... 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-90d87d94-b36b-4008-8fdc-6a2cae6b19cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.097181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_243_nodes_volume_get_reader [0.062362s] ... 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-a1109a22-6575-4a99-8672-128a4396b462 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.053379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.036055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_244_nodes_volume_connectors_get_admin [0.099238s] ... 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-6c03b501-077d-4ffa-a68d-854ff8067e69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.037671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_245_nodes_volume_connectors_get_member [0.096977s] ... 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-755ae368-3ca1-484f-9c46-c9f2c12bcb84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.api.test_acl.TestRBACScopedRequests.test_system_scoped_246_nodes_volume_connectors_get_reader [0.113326s] ... 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-c7d8d7b1-e906-4c77-9bae-3cb356d2da6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.240889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.043740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_247_nodes_volume_targets_get_admin [0.101035s] ... 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-fe7cf53f-5bee-456e-aa6d-b340a20670bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.054316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.035031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_248_nodes_volume_targets_get_member [0.098955s] ... 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-1ade44d7-5590-4c85-8dd3-a205d805d7a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.039888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.040629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_249_nodes_volume_targets_get_reader [0.080720s] ... 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-471888fd-3d37-4446-a56c-d2369b5bbcec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.035920s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.037812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_250_drivers_get_admin [0.061809s] ... 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-9ca179c0-44ea-4e61-9d48-78e4e3ade955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.035757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.037882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_251_drivers_get_member [0.074651s] ... 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-844c225c-3c18-4e5c-87eb-630612281787 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.036609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.046423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_252_drivers_get_reader [0.081320s] ... 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-6bd2116d-00fc-476b-85a4-14f30cc6311e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.043093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_253_drivers_driver_name_get_admin [0.068074s] ... 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-1bd97be3-afa9-4dff-8dd3-1a5b1b4444fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.053400s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.042159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_254_drivers_driver_name_get_member [0.062781s] ... 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-897168cb-55ae-47e1-aef5-c8db002e0e25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficient_data [0.046204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_255_drivers_driver_name_get_reader [0.071805s] ... 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-ea2a4cb5-342d-4e3f-acf2-da9d25171348 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.041821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.051693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_256_drivers_properties_get_admin [0.078476s] ... 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-221aec23-3b37-434a-bfcf-0a3b38d7d933 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.076054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_257_drivers_properties_get_member [0.075018s] ... 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-17cbfe2b-d749-47b4-93fd-5e91b969b847 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.049196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_258_drivers_properties_get_reader [0.074502s] ... 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-4bc5aabb-1b19-4bcd-b26c-512c58007116 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.048140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.058923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_259_drivers_raid_logical_disk_properties_get_admin [0.086306s] ... 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-5f7570e2-14b5-4b3d-8c81-6a0d2a413ed6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.053560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_260_drivers_raid_logical_disk_properties_get_member [0.077316s] ... 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-118d1090-abb2-4e29-91da-51769793b34c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.052852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.053485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_261_drivers_raid_logical_disk_properties_get_reader [0.067087s] ... 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-e60205cc-23be-46d4-950a-88160d4bf333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.056492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_262_drivers_vendor_passthru_methods_get_admin [0.079733s] ... 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-67af1eb6-b247-4bb1-86bb-b6ea0392301b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.054334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_263_drivers_vendor_passthru_methods_get_member [0.067514s] ... 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-f43dae1f-1790-4ad8-afb2-64159be3aba4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.055904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.060863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_264_drivers_vendor_passthru_methods_get_reader [0.079571s] ... 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-8758e7a9-95ba-4e72-8ff1-1b7fe2aea9ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.056429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_265_drivers_vendor_passthru_get_admin [0.086752s] ... 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-8abfaa96-0dc5-417c-83e2-fa5445ea7c06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.062987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.055410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_266_drivers_vendor_passthru_get_member [0.096664s] ... 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-e207ab45-73db-4b02-b22b-be2bd86a482a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.068985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_267_drivers_vendor_passthru_get_reader [0.062787s] ... 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-1cd8b12f-e94a-4b09-99df-f9777e4c2f3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.067729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_268_drivers_vendor_passthru_post_admin [0.074657s] ... 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-a8876755-fc48-4db6-a703-f7baf2649eb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.047030s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.063443s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.055784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.078665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_269_drivers_vendor_passthru_post_member [0.268947s] ... 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-49f30887-9329-478a-b584-c2b59b243b81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.048168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.031342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.033013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_270_drivers_vendor_passthru_post_reader [0.117403s] ... 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-939c2477-05a6-472b-8aec-606c549e5c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.057929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.044908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.040348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.047294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_271_drivers_vendor_passthru_put_admin [0.142173s] ... 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-e04cc214-7be2-4972-928f-328551042979 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_servicing [0.049814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.056362s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_272_drivers_vendor_passthru_put_member [0.116177s] ... 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-9ddf5d61-f577-4a22-9d2a-9056187db277 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.063210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_273_drivers_vendor_passthru_put_reader [0.099353s] ... 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-9cc2d420-8fd2-45c3-89b9-ece3b3063293 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.TestRBACScopedRequests.test_system_scoped_274_drivers_vendor_passthru_delete_admin [0.080463s] ... 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-05f54a5b-b20a-4cbb-bbb9-226ab73ef02e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-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.TestRBACScopedRequests.test_system_scoped_275_drivers_vendor_passthru_delete_reader [0.086843s] ... 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-e7c69733-09e0-4385-8168-181ead4253ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.271491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_276_nodes_bios_get_admin [0.071650s] ... 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-4e86925f-1a5d-4171-8cec-fbcc9fabf159 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:53.910169+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: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.062600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_277_nodes_bios_get_member [0.091695s] ... 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-bbf231a1-e50e-4894-914a-d65fcdadf537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:53.999468+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.api.test_acl.TestRBACScopedRequests.test_system_scoped_278_nodes_bios_get_reader [0.072850s] ... 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-2ee97d14-fbf8-4bc1-a4f0-836136d805a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:54.075173+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: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.133700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.048840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_279_nodes_bios_bios_setting_get_admin [0.071328s] ... 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-514c9406-98ae-4d8d-8ba3-ec7d7f037b28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:54.147672+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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.046328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.044897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_280_nodes_bios_bios_setting_get_member [0.085715s] ... 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-508edc2d-64fb-4790-a673-fcdaa1745a48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:54.231104+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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_lenovo [0.064668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_281_nodes_bios_bios_setting_get_reader [0.082274s] ... 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-51f212b7-a1a8-4a42-b31a-b8c5eecd645c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:54.317981+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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.046604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.041700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_282_conductors_get_admin [0.088308s] ... 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-e70c9396-45cb-4d6c-8443-b26158f0a484 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.044771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.048756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_283_conductors_get_member [0.095515s] ... 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-3fd236aa-0cab-4204-b425-7acda933ca62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_bios [0.053234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_bios [0.048835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_284_conductors_get_reader [0.090451s] ... 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-5bbd16f3-68a7-4839-a1cb-0574ddea0563 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_uefi [0.053879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_285_conductors_hostname_get_admin [0.083503s] ... 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-69c3ff4f-2bb4-4145-a827-112947c7e877 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:54.669525+00:00", "updated_at": "2024-03-18T18:18:54.670269+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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.049391s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.060923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_286_conductors_hostname_get_member [0.085062s] ... 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-e25813c5-4fbb-4caa-9fb7-40f829212579 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:54.750893+00:00", "updated_at": "2024-03-18T18:18:54.751608+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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.084808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_287_conductors_hostname_get_reader [0.091040s] ... 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-1dea73be-9b2b-4dc4-9d2e-841eedb5aa15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:54.832591+00:00", "updated_at": "2024-03-18T18:18:54.833304+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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.040719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.046446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image_bios [0.045870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_288_allocations_post_admin [0.115637s] ... 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-b7aa5c99-8a03-43e6-bedc-d50136a803af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.046164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.032007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_289_allocations_post_member [0.104223s] ... 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-a91aef85-f6af-433f-8949-aa5f5535874c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot [0.053933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.047815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_290_allocations_post_reader [0.083302s] ... 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-175c8613-a073-4129-ba02-be58ee59815f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.047098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_291_allocations_get_admin [0.069098s] ... 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-7957c18b-c906-4ba8-9bdf-dd5fee14f9d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "67ffd242-0fa6-4891-902f-1b3a1607731a", "created_at": "2024-03-18T18:18:55.214281+00:00", "updated_at": "2024-03-18T18:18:55.219045+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/67ffd242-0fa6-4891-902f-1b3a1607731a", "rel": "self"}, {"href": "http://localhost/allocations/67ffd242-0fa6-4891-902f-1b3a1607731a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.050383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_292_allocations_get_member [0.076955s] ... 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-c80536dd-6a05-4802-a6f9-9f7b5bacafa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "87836600-9cea-42ce-b399-10a9f29c33b9", "created_at": "2024-03-18T18:18:55.286311+00:00", "updated_at": "2024-03-18T18:18:55.291113+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/87836600-9cea-42ce-b399-10a9f29c33b9", "rel": "self"}, {"href": "http://localhost/allocations/87836600-9cea-42ce-b399-10a9f29c33b9", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.093748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_293_allocations_get_reader [0.068778s] ... 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-8e06c5b1-b75b-4721-8b75-0c3be5f39a83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "64dcc211-806e-4972-8dea-ecd383606cc9", "created_at": "2024-03-18T18:18:55.360015+00:00", "updated_at": "2024-03-18T18:18:55.364730+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/64dcc211-806e-4972-8dea-ecd383606cc9", "rel": "self"}, {"href": "http://localhost/allocations/64dcc211-806e-4972-8dea-ecd383606cc9", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.049040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.057519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_294_allocations_allocation_id_get_admin [0.079013s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/e09a41c1-ef6a-4cad-8e50-5d6a9a0d33e2 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30a10f69-b3d0-4a4d-b746-5d39a25bc73f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "e09a41c1-ef6a-4cad-8e50-5d6a9a0d33e2", "created_at": "2024-03-18T18:18:55.440814+00:00", "updated_at": "2024-03-18T18:18:55.446816+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/e09a41c1-ef6a-4cad-8e50-5d6a9a0d33e2", "rel": "self"}, {"href": "http://localhost/allocations/e09a41c1-ef6a-4cad-8e50-5d6a9a0d33e2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.048069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_295_allocations_allocation_id_get_member [0.066170s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/74b01f79-bfe6-4c24-b959-470f0eecbbe1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-085a36a4-f69a-4e3a-ae1a-c737e2e58352 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "74b01f79-bfe6-4c24-b959-470f0eecbbe1", "created_at": "2024-03-18T18:18:55.509832+00:00", "updated_at": "2024-03-18T18:18:55.514169+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/74b01f79-bfe6-4c24-b959-470f0eecbbe1", "rel": "self"}, {"href": "http://localhost/allocations/74b01f79-bfe6-4c24-b959-470f0eecbbe1", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.059881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_296_allocations_allocation_id_get_reader [0.073452s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/allocations/03c9644b-2bef-4323-87e0-63e11630011b WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19485f15-cf07-4408-bc5c-998f81091971 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "03c9644b-2bef-4323-87e0-63e11630011b", "created_at": "2024-03-18T18:18:55.574420+00:00", "updated_at": "2024-03-18T18:18:55.579275+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/03c9644b-2bef-4323-87e0-63e11630011b", "rel": "self"}, {"href": "http://localhost/allocations/03c9644b-2bef-4323-87e0-63e11630011b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.063668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_297_allocations_allocation_id_patch_admin [0.079990s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/ef0c0dbc-bdf3-4bb4-81b6-9b09cdf45426 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-2527b32f-4a75-4f9d-a94a-c73b10833d74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "ef0c0dbc-bdf3-4bb4-81b6-9b09cdf45426", "created_at": "2024-03-18T18:18:55.655985+00:00", "updated_at": "2024-03-18T18:18:55.700774+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/ef0c0dbc-bdf3-4bb4-81b6-9b09cdf45426", "rel": "self"}, {"href": "http://localhost/allocations/ef0c0dbc-bdf3-4bb4-81b6-9b09cdf45426", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.074963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.066357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.049720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_298_allocations_allocation_id_patch_member [0.174283s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/571c5819-b4e3-401d-be25-b0dd3cb5df22 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-f90dc018-c664-49f0-bc0b-4e7dbb73e180 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "571c5819-b4e3-401d-be25-b0dd3cb5df22", "created_at": "2024-03-18T18:18:55.735038+00:00", "updated_at": "2024-03-18T18:18:55.875079+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/571c5819-b4e3-401d-be25-b0dd3cb5df22", "rel": "self"}, {"href": "http://localhost/allocations/571c5819-b4e3-401d-be25-b0dd3cb5df22", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.057077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.054915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_299_allocations_allocation_id_patch_reader [0.104901s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/allocations/1667ac15-004c-4907-8571-b2907147bcb7 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-31ac8ff3-e71e-456a-8ba4-41ebe88107e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.062433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_300_allocations_allocation_id_delete_admin [0.084542s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/27da4500-de5e-45e1-82fa-666d2d7d7d4e GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-848811bc-13b7-4c9c-840d-6915ec225af3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.074426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.064868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_301_allocations_allocation_id_delete_member [0.082074s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/973e4c59-dd6e-48f8-8c43-f196e8033e7e GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-610bda6b-7690-47f0-9d6e-0cd636a2cd6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.050122s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_302_allocations_allocation_id_delete_reader [0.063947s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/allocations/806fa4e8-9cc7-4c9d-be31-00d9837f3632 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b67307bf-12fe-47d8-9cb9-8c2b9488f34c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.075838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_303_nodes_allocation_get_admin [0.073706s] ... 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-9cbcdfd4-7616-4677-b1ce-05d65d725e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "c4871af9-1cfa-4ef5-a8d9-2a917610e8f2", "created_at": "2024-03-18T18:18:56.250165+00:00", "updated_at": "2024-03-18T18:18:56.255183+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/c4871af9-1cfa-4ef5-a8d9-2a917610e8f2", "rel": "self"}, {"href": "http://localhost/allocations/c4871af9-1cfa-4ef5-a8d9-2a917610e8f2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.061862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_304_nodes_allocation_get_member [0.077000s] ... 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-b400594d-bdd5-4e7e-8315-86494b88ed8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "310bae77-7255-41fa-b035-4862eba4e652", "created_at": "2024-03-18T18:18:56.327264+00:00", "updated_at": "2024-03-18T18:18:56.332636+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/310bae77-7255-41fa-b035-4862eba4e652", "rel": "self"}, {"href": "http://localhost/allocations/310bae77-7255-41fa-b035-4862eba4e652", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_305_nodes_allocation_get_reader [0.097829s] ... 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-2029033e-f421-423b-8596-959fa1a3206c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "3cfe2e2c-6fca-418b-aeac-7304a3740fe2", "created_at": "2024-03-18T18:18:56.410037+00:00", "updated_at": "2024-03-18T18:18:56.414697+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/3cfe2e2c-6fca-418b-aeac-7304a3740fe2", "rel": "self"}, {"href": "http://localhost/allocations/3cfe2e2c-6fca-418b-aeac-7304a3740fe2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_306_nodes_allocation_delete_admin [0.077733s] ... 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-7d1d9456-abce-4782-9d7b-27e0096e1d8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.245981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_307_nodes_allocation_delete_member [0.080103s] ... 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-db39bd17-1647-4b97-8b60-1445b38595bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.050487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.044002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_308_nodes_allocation_delete_reader [0.075642s] ... 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-43235204-32ce-4a3f-b90c-ace1716c2914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.068876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_309_deploy_templates_post_admin [0.080719s] ... 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/19de797a-7433-496b-acae-092182be6bc0 DEBUG util.py:445: Openstack-Request-Id: req-e25b784e-0eef-41eb-a94c-cfea360a317e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "19de797a-7433-496b-acae-092182be6bc0", "created_at": "2024-03-18T18:18:56.782249+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/19de797a-7433-496b-acae-092182be6bc0", "rel": "self"}, {"href": "http://localhost/deploy_templates/19de797a-7433-496b-acae-092182be6bc0", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.057073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.054520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_310_deploy_templates_post_member [0.086550s] ... 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-fbf0a560-cc40-4de3-bdc6-db8d4242f2ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.056238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.044105s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [0.097133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.073935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.070232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_311_deploy_templates_post_reader [0.332530s] ... 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-59e9470f-412c-48e0-8ec7-500ae9818b07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.062041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_312_deploy_templates_get_admin [0.112988s] ... 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-ec995b40-8a3b-46ea-83ef-3246e2b662d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "e16cb864-159f-4016-9aef-0cf44502da46", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e16cb864-159f-4016-9aef-0cf44502da46", "rel": "self"}, {"href": "http://localhost/deploy_templates/e16cb864-159f-4016-9aef-0cf44502da46", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.049805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.029837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.035212s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.030914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_313_deploy_templates_get_member [0.099582s] ... 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-3019b54d-cc31-4b09-b3e9-7ae2d513203d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "65cf9195-cbfd-4c35-8f91-a31b18672f57", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/65cf9195-cbfd-4c35-8f91-a31b18672f57", "rel": "self"}, {"href": "http://localhost/deploy_templates/65cf9195-cbfd-4c35-8f91-a31b18672f57", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.030184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.029143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_314_deploy_templates_get_reader [0.074882s] ... 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-d1cf94fd-7371-42a0-b618-1b116806ea53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "7966cf19-d381-42de-81c5-f5a9b2cffc0f", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/7966cf19-d381-42de-81c5-f5a9b2cffc0f", "rel": "self"}, {"href": "http://localhost/deploy_templates/7966cf19-d381-42de-81c5-f5a9b2cffc0f", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.031624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.056470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_315_deploy_templates_deploy_template_id_get_admin [0.068269s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/7f3ae0d2-7acc-45e5-beb5-b7a371c8db2d WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5ce76cf-bcc2-4965-ae1c-07510e85639e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "7f3ae0d2-7acc-45e5-beb5-b7a371c8db2d", "created_at": "2024-03-18T18:18:57.534002+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/7f3ae0d2-7acc-45e5-beb5-b7a371c8db2d", "rel": "self"}, {"href": "http://localhost/deploy_templates/7f3ae0d2-7acc-45e5-beb5-b7a371c8db2d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.060606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_316_deploy_templates_deploy_template_id_get_member [0.072896s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/aeba4b86-e824-4c91-95df-8c61a6f72c6e WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74345616-8061-4071-bc97-3cdd4e67ab81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "aeba4b86-e824-4c91-95df-8c61a6f72c6e", "created_at": "2024-03-18T18:18:57.608324+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/aeba4b86-e824-4c91-95df-8c61a6f72c6e", "rel": "self"}, {"href": "http://localhost/deploy_templates/aeba4b86-e824-4c91-95df-8c61a6f72c6e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.067340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_317_deploy_templates_deploy_template_id_get_reader [0.067897s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/deploy_templates/f11b90f1-1afe-4ad7-9c40-8aed0d67a672 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50157fd5-c1e3-470b-a533-016132feed02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f11b90f1-1afe-4ad7-9c40-8aed0d67a672", "created_at": "2024-03-18T18:18:57.680763+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/f11b90f1-1afe-4ad7-9c40-8aed0d67a672", "rel": "self"}, {"href": "http://localhost/deploy_templates/f11b90f1-1afe-4ad7-9c40-8aed0d67a672", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.061752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_318_deploy_templates_deploy_template_id_patch_admin [0.088644s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/b1018202-d21c-47e2-997c-ea19ea3a15fb 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-0af74503-25db-4480-934a-b01b6d58ab7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "b1018202-d21c-47e2-997c-ea19ea3a15fb", "created_at": "2024-03-18T18:18:57.748191+00:00", "updated_at": "2024-03-18T18:18:57.790729+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b1018202-d21c-47e2-997c-ea19ea3a15fb", "rel": "self"}, {"href": "http://localhost/deploy_templates/b1018202-d21c-47e2-997c-ea19ea3a15fb", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_service [0.062791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_319_deploy_templates_deploy_template_id_patch_member [0.066380s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/6104678e-80dc-49d7-819a-06ec927802c4 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-765db8ff-4acd-49ee-8ddf-d5f89e6b7cbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.046258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.045630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_320_deploy_templates_deploy_template_id_patch_reader [0.068324s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: PATCH /v1/deploy_templates/9a52d7a5-e658-4f23-8899-f9f267184a8f 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-82e749a0-cf9d-483d-8a04-a013e3eb7de7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.045576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_321_deploy_templates_deploy_template_id_delete_admin [0.078628s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/57dd49e4-1191-40d3-b6c3-8aca67fb4b2e GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-654932c3-d25d-403a-a287-fad1446eefb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.053864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_322_deploy_templates_deploy_template_id_delete_member [0.093777s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/485a3402-4111-4d58-bdc9-83198306aed0 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fe29504-293a-4004-a568-fb18417f5945 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service [0.097405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service_service_error [0.058388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_323_deploy_templates_deploy_template_id_delete_reader [0.065458s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: DELETE /v1/deploy_templates/8c1594f6-d225-4f63-a684-6cb020fef515 GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3ef659a-6cd0-4f4e-9a40-e9ebe490bdeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.058292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_324_chassis_post_admin [0.066860s] ... 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/f0c2cbff-7b5f-4ff6-900d-1477f78dd268 DEBUG util.py:445: Openstack-Request-Id: req-b988b82e-5f3f-4d07-9ea3-9938938edb4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "f0c2cbff-7b5f-4ff6-900d-1477f78dd268", "created_at": "2024-03-18T18:18:58.234694+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/f0c2cbff-7b5f-4ff6-900d-1477f78dd268", "rel": "self"}, {"href": "http://localhost/chassis/f0c2cbff-7b5f-4ff6-900d-1477f78dd268", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/f0c2cbff-7b5f-4ff6-900d-1477f78dd268/nodes", "rel": "self"}, {"href": "http://localhost/chassis/f0c2cbff-7b5f-4ff6-900d-1477f78dd268/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.048055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_325_chassis_post_member [0.066994s] ... 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-a3fc7f55-18ed-43b9-8aa0-2ffa048d24ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.052045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.032308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.019588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_326_chassis_post_reader [0.076898s] ... 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-96958683-3056-48c0-af3a-ead16de24578 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.024184s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.028231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_327_chassis_get_admin [0.069484s] ... 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-99acb90d-e768-4e07-b218-324d443267ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.019649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.031463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.026585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_328_chassis_get_member [0.068547s] ... 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-d81b15b5-c9a0-4541-b78d-7d3996ca06b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.020264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.018187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.023484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_329_chassis_get_reader [0.075776s] ... 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-6aef7afb-66f4-4d78-a140-bc4f5c270142 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.029695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.018150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.020158s] ... 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.022515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_330_chassis_get_service [0.073835s] ... 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-af650325-0384-4367-93c2-39bb3c524695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.017746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.058678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_331_chassis_detail_get_admin [0.072772s] ... 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-68ef0f23-0449-436c-9abf-0b7a8c73fc32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:58.713561+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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.057098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_332_chassis_detail_get_member [0.072421s] ... 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-4e484018-9ff2-45ff-b764-890ac4063cbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:58.789030+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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_anaconda [0.069786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_333_chassis_detail_get_reader [0.065201s] ... 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-17608c64-dadd-4307-9ccb-50ef92df3353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:18:58.858229+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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.046278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_334_chassis_chassis_id_get_admin [0.067740s] ... 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-8f8e277d-da9c-40ca-93a0-7abcfff5cdee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:58.924475+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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.046505s] ... 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.046767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_335_chassis_chassis_id_get_member [0.073804s] ... 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-3f9e546f-a229-43d8-8dff-92331808335e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:58.997436+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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_is_a_path [0.058866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_336_chassis_chassis_id_get_reader [0.083674s] ... 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-dbb75260-ff20-41fc-b9d1-995ebff3aa79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:59.076367+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.test_acl.TestRBACScopedRequests.test_system_scoped_337_chassis_chassis_id_patch_admin [0.077802s] ... 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-f47e6a73-5a3a-4626-adb0-9d228cc092aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:59.154202+00:00", "updated_at": "2024-03-18T18:18:59.186532+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.TestRBACScopedRequests.test_system_scoped_338_chassis_chassis_id_patch_member [0.084270s] ... 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-0bacd47c-4af7-4b10-a75f-abc343952515 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: 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-18T18:18:59.233015+00:00", "updated_at": "2024-03-18T18:18:59.270665+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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect [0.220083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_339_chassis_chassis_id_patch_reader [0.068361s] ... 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-6a08c832-2e46-4bb3-acfa-81c58e21bf31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw [0.054337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw_keeps_md5 [0.057624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_340_chassis_chassis_id_delete_admin [0.071972s] ... 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-44034cc4-efd1-424c-b8b7-ee910af7e878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.050957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_341_chassis_chassis_id_delete_member [0.070722s] ... 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-ef26cc4c-4ce6-4a13-9bfd-c3e349f97be7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.055147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.055755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_342_chassis_chassis_id_delete_reader [0.081721s] ... 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-c81e9736-a4cf-4089-a033-de9d838628fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.052368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_343_chassis_chassis_id_delete_service [0.066946s] ... 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-2f6b7f76-6756-4d3e-9309-1085e6f96b05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_already_raw [0.054981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_344_node_history_get_admin [0.085791s] ... 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-11155296-476c-4620-8cc7-84b7177401fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b6e4ca17-f087-4010-b2f9-c95d174ca424", "created_at": "2024-03-18T18:18:59.697651+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b6e4ca17-f087-4010-b2f9-c95d174ca424", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.056656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.056029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_345_node_history_get_member [0.088298s] ... 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-78ff0e5b-7f0e-43ba-8d7b-a061a6416495 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "b0d699be-6091-465f-8136-e822a0adc0f1", "created_at": "2024-03-18T18:18:59.790857+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b0d699be-6091-465f-8136-e822a0adc0f1", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.061040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_anaconda_deploy_image_source [0.028437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_346_node_history_get_reader [0.083980s] ... 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-605df307-b373-4cac-b98c-d86fd69c7484 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "9888e858-0038-42e2-a6f1-e7c01a3d2f5c", "created_at": "2024-03-18T18:18:59.873785+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9888e858-0038-42e2-a6f1-e7c01a3d2f5c", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.026113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.028762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.028547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_347_node_history_get_service [0.082784s] ... 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-5bf97dd5-e930-410e-b3f8-66663217fb56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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": "3cb37935-8f09-41ab-84af-741e3c078e8c", "created_at": "2024-03-18T18:18:59.956998+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3cb37935-8f09-41ab-84af-741e3c078e8c", "rel": "self"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.035473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.029952s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_local_boot [0.031292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_348_node_history_get_entry_admin [0.104878s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bb7fed27-9b70-4f23-ab2c-3536d01237bc WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-304d333a-13ec-413e-9791-1aebe2cc61b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "bb7fed27-9b70-4f23-ab2c-3536d01237bc", "created_at": "2024-03-18T18:19:00.054703+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/bb7fed27-9b70-4f23-ab2c-3536d01237bc", "rel": "self"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.028128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.028750s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.023119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_redfish_kernel_param_config [0.023824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_as_url_ignored [0.028369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_ignored [0.030656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip [0.022986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip_as_url [0.023256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ipv6_as_url [0.024935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_redfish_bmc_address_ipv6_brackets_no_scheme [0.026485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host [0.024548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_349_node_history_get_entry_member [0.265609s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/208e2661-c1f1-4d22-a7ed-8277f48f57e5 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-883606b2-6c88-4208-b7c9-3d0ad7710aa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "208e2661-c1f1-4d22-a7ed-8277f48f57e5", "created_at": "2024-03-18T18:19:00.330982+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/208e2661-c1f1-4d22-a7ed-8277f48f57e5", "rel": "self"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host_in_url [0.024631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries [0.047655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_350_node_history_get_entry_reader [0.081317s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/945ca49c-fa0c-4c5b-8629-dd894136e1cc WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52080264-a265-456d-9aab-9ded659bc4b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "945ca49c-fa0c-4c5b-8629-dd894136e1cc", "created_at": "2024-03-18T18:19:00.417150+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/945ca49c-fa0c-4c5b-8629-dd894136e1cc", "rel": "self"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_404_exception [0.046511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_351_node_inventory_get_admin [0.066855s] ... 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-0109d14e-eaa6-487e-981a-94d8e76d5f18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_fail_exception [0.052345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_352_node_inventory_get_reader [0.068054s] ... 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-9de75ea7-6820-494c-893e-3b2236072c39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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: {2} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_fail_exceptions [0.053331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.026342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.023010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_353_node_history_get_entry_service [0.070192s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/56b1a8b1-af5b-4fbe-9ee6-d8cdf1c29aa1 WITH {} GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00115bb8-b338-4e49-a3ca-fc63674aefbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.90 DEBUG util.py:445: {"uuid": "56b1a8b1-af5b-4fbe-9ee6-d8cdf1c29aa1", "created_at": "2024-03-18T18:19:00.622563+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/56b1a8b1-af5b-4fbe-9ee6-d8cdf1c29aa1", "rel": "self"}]} DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.020675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.021562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.026035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_354_shard_get_shards [0.071500s] ... 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-48799f11-a3bd-412f-afe7-1fa474e84bc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.025838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.019630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.018803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.019266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.020142s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.019648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_355_shard_patch_set_node_shard [0.113828s] ... 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-a883b686-a49a-419e-9b6c-d501dcbdd764 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.020724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.048659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_356_shard_patch_set_node_shard_disallowed [0.075146s] ... 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-f8813032-be0c-495e-84f6-76a14f5cc603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.041983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.042290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_357_parent_node_patch_by_admin [0.108111s] ... 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-b7d9b35c-201d-4b5c-a109-7ea657d35cd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.048492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.025698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.025837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.027034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.026215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_358_parent_node_patch_by_member [0.124823s] ... 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-ca61d529-9eac-4146-a40c-3d81bb760408 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.055553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_359_parent_node_patch_by_reader [0.084334s] ... 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-552b7068-c8ca-4d7c-96aa-2dcd5384d4f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: 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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.045782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.046549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_360_nodes_firmware_component_get_admin [0.088394s] ... 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-d56b5dbd-b582-4995-a935-520638dc8e93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:19:01.283264+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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.042824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.041105s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.040612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_361_nodes_firmware_component_get_member [0.083339s] ... 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-73bd5f9d-c2db-43a8-88fa-2e6ee62d2e62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:19:01.366508+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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.040938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_362_nodes_firmware_component_get_reader [0.082600s] ... 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-5a556bf9-27fe-4fd5-bf09-c4c43f1cee02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.90 DEBUG util.py: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-18T18:19:01.455902+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.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.042770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.025395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.047650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.042834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.041411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.021051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.030494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.043310s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.032932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.029501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.032998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.023230s] ... 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.035427s] ... 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.034094s] ... 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.025208s] ... 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.032664s] ... 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.025235s] ... ok DEBUG util.py:445: Captured stderr: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Error while running foo: bar. DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.268097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.023166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.022977s] ... 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: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.040530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.022783s] ... 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: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.044360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.036264s] ... 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.023615s] ... 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: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.045672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.026546s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Malformed option m1key1=value1 DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.024026s] ... ok DEBUG util.py:445: Captured stdout: DEBUG util.py:445: ~~~~~~~~~~~~~~~~ DEBUG util.py:445: Malformed option m1.key1value1 DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.054567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.022900s] ... 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: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.023675s] ... 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: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.049164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.021854s] ... 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_check_obj_versions [0.023344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.044603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.025290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.025595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.048531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.024470s] ... 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.ValidatePatchSchemaTest.test_patch [0.030268s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.043917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.032677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.054327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.026716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.028579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.045498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.027689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.028458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.050086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.019013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.020114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.042092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.018527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context_with_environ [0.020196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.047541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.021728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict_older_api_server [0.017889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.041619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.018955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.019388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_dict_get_auth_token_info [0.022211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.047991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.025665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.037719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.021918s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.079243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.042767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.046072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.041758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.033219s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.018152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.017541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.045726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.017116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.018502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.042831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.025532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.021678s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.041526s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.043458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.044313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.053902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.045816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.042107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.041607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.040070s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_from_clean_step [0.046000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_is_in_step_list [0.040473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.048785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.038936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.039005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.039615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.039166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.040724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.039348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.038644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.040618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.040082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.040547s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.041374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.040221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.040009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [1.026100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.043326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.036963s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.041558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.030561s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.073978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.073422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.210414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.019739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.021220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.020497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.020331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.023705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.218314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.037679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes_with_http_method [0.041039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.034514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.033088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.037080s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.037696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.037014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.037960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.032728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.037903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.035959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.031231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.039407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.025950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.038746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.026618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.041623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.051881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.031665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.021953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.017488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.038507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.019987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.016556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.037346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.026991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.016833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.035972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.024965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.039722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.034479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.026964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.047088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.039169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.050501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.028494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.043249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.033165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.046513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.034795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.040591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.033816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.036076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.032760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.037197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.035118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.033804s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.044487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.030638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.027638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.051029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.023299s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.028430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.062111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.024199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.023930s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.024395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.046063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.024636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.046573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.026324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.023731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_failed [0.020397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.047054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_sucess [0.021803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.024393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.047526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.023087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.024552s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.055373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_none [0.019993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_success [0.017329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.021208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.059540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.018676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.019574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_ensure_boot_interface_is_not_http_enabled [0.037220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.019121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.044377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.068377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.020031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.018017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance [0.087053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.018930s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.018769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_forbidden [0.019862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_redirected [0.018427s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_active [0.064115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_valid_path_invalid_basic_auth [0.017955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_valid_path_valid_basic_auth [0.019223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.020470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.070580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.018563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.019889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.019391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.020071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.064161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.020933s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.039534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.049324s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.120521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format [0.047195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_password [0.042961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_user [0.030195s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.120455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_password [0.019373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_user [0.019170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.049189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.078374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.061361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_with_kernel_arg [0.075144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_with_fallback [0.058874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.052401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.050243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.085073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.077298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.067796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.221123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.061852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.072531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.029983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.028974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.028489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.253696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.050731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.073504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.076869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.072035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.049532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.051053s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.076962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.057982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.071691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.065575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.072953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.055348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.087101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.060547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.060640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.100251s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.067881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.071229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.046938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.030378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.030772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.089263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.051386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.033834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.083201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.030311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.045383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.048084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.098772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.053573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.088032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.061929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.045809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.041536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.055584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.050460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.045587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.046839s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.056982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.042737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.059174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.048857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.052237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.052846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.058810s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.043107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.033318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.043968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.032141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.052462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.052342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.045979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.046533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_http_boot_enabled [0.036580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.046836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk [0.074829s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.043640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.044307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.058766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.048375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.058427s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.055893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk_rescue [0.279451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.039694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.031650s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk_uefi [0.078315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.031963s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.032930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.048017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.031875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.052481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.033839s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.033147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.052079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.038814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.038452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.031994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.031988s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance [0.056044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.032346s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_active [0.060650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.065553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.069552s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.034941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.024227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.022104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.021641s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.073390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_lenovo [0.049813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.064986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.179883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.066912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.022593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.020479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.020362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.073217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.020911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.024153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.018954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.069886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.039106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.067328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.040948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.040168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.067449s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.026735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.029167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.024405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.070210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.027049s] ... 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.026044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.025399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.073517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.025633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.052290s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.080688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.056153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.077098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.056251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.066898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.062392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.061601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.085403s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.057932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.087140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.056755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.056617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.091114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.056515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.073423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.058505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.039818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.057047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.042246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.046587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.060527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.043708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.051521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.040933s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.041841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.056245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.041448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.039729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.053436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.039643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.056925s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.043630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.049835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.042933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.039568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.040863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_non_local [0.042047s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.024997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.032264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.043771s] ... 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.026603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.028485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.026965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.025569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.050755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.025648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.024982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.049282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.029050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.039005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.035399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.035296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.036607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.021098s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.018287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.017493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.221525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.016766s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_client [0.027385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.017081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.017079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.018683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.048333s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.052995s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.103632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.071438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.062897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.110176s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.062634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.050835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.106889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.050079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.073001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.074905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.080698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.065757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.080180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.068808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.052941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.074309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.061294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.079701s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.061444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.049328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.027039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.023956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.024636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.023572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.026606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.025359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.241753s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.023996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.023166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.054545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.023806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.023948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.037229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.021719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.034274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.023012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.021751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.023584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.213951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.229002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.035983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.035069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.075602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.036566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.037248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.032298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.115337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.029459s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.049247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.036670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.030218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.024729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_json_rpc [0.076612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.023272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.025180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.023317s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_json_rpc_port [0.064926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.026077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.025611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.022885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.071583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.024537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.030055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.075044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.036508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.032048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.065753s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.037632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.029667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.027872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_without_jsonrpc_port_pined_version [0.079822s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.030535s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.025096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.029238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.081167s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.032147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.033538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.069526s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.032224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.039738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.031861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.030013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.069736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.024344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.023529s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.026101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.024222s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.084876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.023657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.024236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.024985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.024353s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.025078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.023261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.022357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.027514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.023058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.023734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.026493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.025958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.306350s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.024751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.024835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.022513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.024436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.100090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.024420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.027793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.029640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.023052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.028756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.118465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.036009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.036112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.025903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.024934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.137622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.023890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.024293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.023052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.024449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.025845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.122115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.024446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.022692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.026107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.104130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.098867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.181197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.027221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.024305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.101820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.022046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.027144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.024462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_raritan_pdu2_snmp_objects [0.025277s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.104705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry3_snmp_objects [0.028628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry4_snmp_objects [0.024609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.027790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.025602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.120204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.035592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.024475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.024338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.065489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.021737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.022320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_vertivgeist_pdu_snmp_objects [0.020668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.058583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.022293s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.024984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.054098s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.023518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.023145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.025962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.061398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.023451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.022420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.038942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.101049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.043639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.045474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.043699s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.117161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.026432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.042475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.048415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.133673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.042014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.041792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.019684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.092347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.019269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.019259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.021825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.021570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.025033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.117974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.020333s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.019086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.019928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_active [0.049746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.020231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.020178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_wait [0.057751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.039438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.023487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.022151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.022447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.022540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.118028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.022937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.022527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.021495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.022740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.092444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.022659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.030318s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.022055s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.021391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.105936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.020015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.020474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.021123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.020580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.022634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.101991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.048972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.086068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.057279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.030633s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.024182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.022791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.096574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.022586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.022906s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.023222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.021732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.097697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.022415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.093426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.200366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.028754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.024199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.021624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.022784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.022629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.020753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.254423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.021598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.024305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.020900s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.024808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.093721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.023861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.035229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.028962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.120518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.038843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.035551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.026242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.027583s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.025360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.124661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.028344s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.017630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.017357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.017646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.021917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.021814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.126372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.020200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.019969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.020773s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.020391s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.020785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.020719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.116388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.020005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.020269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.020428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.021140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.021238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.021179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.126619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.021441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.022289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_ok [0.055387s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.020959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.023345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_with_discovery [0.047086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.025936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.024808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.023369s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_wrong_state [0.079562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.025143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.023683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.023791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.052786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.020892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.036660s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.023077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.021704s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.022475s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.022942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.089275s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.021615s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.023584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.040885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.029414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.028323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.132370s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.021684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.021905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.021845s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.022088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.098145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.022607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.022450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.021084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.021227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.079439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.022438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.022366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.021544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.020579s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.088010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.021597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.018833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.018408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.018143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.017702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.017860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.112716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.017597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.118934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.174320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.017572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.016974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.107772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.016563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.016947s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.017934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.018627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.018566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.093800s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.017120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.016559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.016412s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.017136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.017872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.019179s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.099713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.022247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.024500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.018110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.080077s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.017639s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.018755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.018888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.017783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.018847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.079457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.020244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.019117s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.018992s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.018039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.091298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.017564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.020278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.018190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.019580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.018330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.084414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.019048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.018905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.019310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.018891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.017285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.102785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.016806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.017533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.019124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.018665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.018668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.018222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.018857s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.018873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.019708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.019835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestManager.test_init_and_run [0.032567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes [0.026067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes_with_discovery [0.029537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_nothing_on_inspection [0.033535s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_automated [0.300817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.pxe_filter.test_service.TestSync.test_sync [0.040952s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.021472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_manual [0.109504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_deploying [0.104545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.059788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.062805s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.087837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.053977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.047959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.048536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.051390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.053899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.025896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.026205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.026313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.025918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.046926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.067732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.065858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.062459s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.065642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.042573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.032213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.042097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.042857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.041176s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.083533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.097315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.097321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.096905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.079739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.084696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.025545s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.024354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.024615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.025796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.039502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.080719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.081710s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.097358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.090129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.119979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.130727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.122090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.301029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.127199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.088155s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.084449s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.092804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.097301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.095371s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.116407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.025944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.022465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.028292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.022247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.022235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.020536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.023332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.026988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.048007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.041530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.030792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.039074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.039494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.039206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.042981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.019185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.019569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.020594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.018727s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_clean_step_automated_execute_fail [0.061984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_fail_in_tear_down_service [0.082370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_last_step_noop [0.052489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_no_steps [0.075335s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_bad_step_return_value [0.060168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_manual_last_step_noop [0.053890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service [0.052530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_network_validate_fail [0.055429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_power_validate_fail [0.056167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_disable_ramdisk [0.056097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_network_validate_fail [0.055159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_power_validate_fail [0.055959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_network_error_fail [0.061314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_active [0.073752s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_fail [0.078808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_wait [0.058666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_steps_fail [0.094495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_continue_node_service [0.048080s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_continue_node_service_no_skip_step [0.044500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all [0.077797s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all_disable_ramdisk [0.087298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_collect_logs [0.080970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.056342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.051997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_agent_busy [0.054660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_automated_first_step_async [0.213846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_active [0.050825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_wait [0.050199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_manual_first_step_async [0.052856s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot [0.052506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_fail [0.062412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_last_step [0.053774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_node_service_steps_fail_poweroff [0.061715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_off [0.051194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_on [0.052956s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_reboot [0.054424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.024827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.024941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.020360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.029012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.020857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.019891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.019686s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.023644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.022055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.019000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.019924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.021507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.020824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.019955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.021833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.020133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.024105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.027311s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.034892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.026201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.025739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.027538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.026896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.057964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.040916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.080252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.052926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.052537s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.047946s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.077117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.062737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.051198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.095668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.082704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.055224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.051207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_already [0.050426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.051808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.057760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.058232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.080853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.052007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.055168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.051258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.209553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.050973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.080477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.050220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.052939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.063935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.062265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.050171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.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_models.TestGetClass.test_get_class [0.027178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.024833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.256381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.185431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.032788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.176810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.022639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.159342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.023113s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.164585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.171359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.023888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.036747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.036546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.028207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.029416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.025410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.023274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.024749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.024815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.030653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.023465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.023726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.024207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.025349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.026912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors_with_sqlite [0.026797s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.025452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors_with_sqlite [0.026490s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.032624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.024337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.025267s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.025062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.023858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.025972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.022718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_offline [0.023638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.026314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.024460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.025271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.025944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.332608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.027997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.167391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.026212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.215374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.038149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.031349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.026895s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.031509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.026194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.024542s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.043245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.024854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.024993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.032236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.032030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.024525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.022780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.024318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.027349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.032026s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.024396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.041120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.028050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.023787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.026857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.025145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.024993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.026472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.025645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.023258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.024020s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.033997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.029843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.027866s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_firmware_component_list_after_destroying_a_node_by_uuid [0.032180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.037744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.041348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.020473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.024377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.039333s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.029544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.027778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.023464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.031502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.029813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.022028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.030324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.035509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.042349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.036035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.046415s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.090672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.026741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.029687s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.026677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.029359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.029904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.030107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.043461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.208575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_get_destroyed_after_destroying_a_node_by_uuid [0.032086s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_updated_for_node [0.029127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_node_provision_state_count [0.037746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.032249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.031523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.033463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.028095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.032811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.044257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.036957s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.031151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.034423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.041723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_once_sqlite [0.029124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_twice [0.034200s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.040050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.037666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.029258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.024178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.035761s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.035554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.029503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.039097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.032069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspecting [0.030849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspectwait [0.029904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.029257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspecting [0.028517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspectwait [0.027621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.030888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.027149s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.027783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.022486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.029138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_retries [0.557821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_retries_without_log_mock [1.253777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.035647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.036279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.034174s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.034461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.045665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.033905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.035100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.027982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.027649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.027308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.030443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.030402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.027074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.029364s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.026238s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.030249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.028083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.026451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.032528s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.034608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.038614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.035038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.029462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.030778s] ... 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.026152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.027898s] ... 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.026617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.026237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.027661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.027920s] ... ok 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.025779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.030059s] ... 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.026144s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.027971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_no_match [0.030420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_multi [0.040511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_single [0.220291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.029264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.036407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.029840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.032289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.032559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.034277s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.037863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.066630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.048985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.068111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.068910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.052632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.054760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.054760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.054324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.052624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.061808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.055319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.049746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.049300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.059735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.048257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.052547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.046571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.051225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.049220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.049863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.026554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.025901s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.026037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.025094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.025300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.028156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.025322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.034741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.034107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.030249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.047280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.038880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.052521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.040091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.036303s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.035680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.028316s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.049454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.045448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.057385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.040296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.049456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.047263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.046877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.057586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.034016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.042616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.025989s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.025977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.026097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.025446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.026069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.025412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.026084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.028030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.052482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_convert_controller [0.055688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.242660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.053774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.027508s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode [0.054185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_no_conversion [0.043202s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_not_raid [0.042986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_idrac [0.053197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy [0.063891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy_oem [0.053959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.026278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.033320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.033453s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.032513s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.025796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.026346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.027229s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.060952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.059081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.052278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.046633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.027533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.037411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.026144s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.026955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.042668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.025949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_no_subtasks [0.025194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.025203s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.022863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.030907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.033258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.033893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.033728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.024004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none_by_arch [0.023688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.023145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.022961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config_by_arch [0.022596s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.022568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.023015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.022717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.022611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.023409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.022572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.023704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.042961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.052097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.049941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.051226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.058119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.052947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.047010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.046317s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.042126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.059667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_local_or_whole_disk_image [0.044073s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.049991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.065976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.062591s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.255082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.063622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.095286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.066628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.060881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.049385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.043910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.035617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.039501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_glance [0.065292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver [0.051414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.051043s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.059539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.046478s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.053543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.055507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.045439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.046378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.048454s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.039718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.056396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.043087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.050909s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.049130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.048763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.083262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.084251s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.113664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.061019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.058566s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.055816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.072667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.062444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.059555s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.049696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.037581s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.035833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_glance [0.062193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver [0.055269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.051493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.045278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.043044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.041147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.059041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.063396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.056580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.046201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.223708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_deploying [0.041903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.044268s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.044939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.053557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.046297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.048503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.051912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.024226s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.026087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.025945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.028366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.027154s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.026213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.026595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.025324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.025257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.024383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.024573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.024528s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.037354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.036902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.030056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.028473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_ilo6_redirect [0.028650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.039512s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.050210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.040556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.045308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.045765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.054590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.050623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.047259s] ... 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.042503s] ... 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.054970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.082382s] ... 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.168736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.089838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_accelerators.AcceleratorsTestCase.test_accelerators [0.579878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_all_valid_data [0.639195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_bad_value_linkagg [0.840994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_bad_value_macphy [0.077307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_chassis_ids [0.077657s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_duplicate_tlvs [0.090225s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_invalid_ip [0.764370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_multiple_interfaces [0.411677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_null_strings [0.350928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_old_format [0.089735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_truncated_int [0.132959s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_truncated_mac [0.165559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_unhandled_oui [0.065504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_unhandled_tlvs [0.051392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_pci_devices.PciDevicesTestCase.test_pci_devices [0.054585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_added [0.183619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_all [0.136458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_present [0.100500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_pxe_enabled [0.114665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_all_match [0.075577s] ... 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.149827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_incorrect_hint [0.202261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_local_gb_without_spacing [0.312421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_no_hints [0.094985s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_one_matches [0.109274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_root_device_skip_list [0.111635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_size_invalid [0.116049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_size_string [0.152384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_zero_size [0.119434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_error [0.103252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_ok [0.045501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.065882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.057066s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.121313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.219345s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.090051s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.032998s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.033467s] ... 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.113451s] ... 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.161609s] ... 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.230521s] ... 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.066937s] ... 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.125190s] ... 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.168457s] ... 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.181047s] ... 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.077551s] ... 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.107953s] ... 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.101325s] ... 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.098695s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.165521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.074496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.146183s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.137299s] ... 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.346319s] ... 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.503589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.211892s] ... 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.352025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.504178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.319493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.464292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.273852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.305139s] ... 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.201652s] ... 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.075729s] ... 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.095338s] ... 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.132451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.140321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.182277s] ... 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.224143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.756464s] ... 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.114071s] ... 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.108099s] ... 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.201101s] ... 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.082279s] ... 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.077893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.164951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.124095s] ... 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.101972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.082254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.202997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.090903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.123201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.190127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.205986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.119281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.186656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.210501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.225467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.398852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.303197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.286144s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.156142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.148875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_apply_time_attr [0.251609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.412486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.228103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.625914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.461501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.192405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.542076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.153928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.102908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.133931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.149836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.136702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.225092s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.163928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.118460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.110663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.108991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.148645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.182606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.105564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.187570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.127294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.105216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.117520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.082868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.118309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.179371s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.064536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.051833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.034368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.041949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.038644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.077005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.030464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.066066s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.047719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.068614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.065584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.039451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.051185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.086561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.355394s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.038659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.033523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.031997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.040035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.060646s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.043600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.045707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.053441s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.027407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.117180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.073743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.111492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.104611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.116523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.109639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.085281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.086427s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.087248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.065679s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.053379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.090666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.084451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.053896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.137611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.133840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.082590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.057587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.058715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.119223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.202074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.172081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.291070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.309398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.198361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.127283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.049780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_service_steps [0.081641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.232877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.172661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.176217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.366534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.110285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.068212s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.061572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.193380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.184320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.264413s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.165274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.117003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.349799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.315803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.204421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.396295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_service [0.257598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.354080s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.909711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.296601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.444600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.233093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.181075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_service [0.265772s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.482633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.181494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.207806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.067861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.131725s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.066465s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.065497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.096841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.170928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.145494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.162198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.230501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.160969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.161419s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.215464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.305848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success [0.113434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success_blocked [0.281464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.096327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.132730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.144853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.089626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.069250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing [0.065315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_after_reboot [0.099084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_reboot [0.089595s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_running [0.055038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.094295s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.155614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.088393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.212565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.331424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_servicing [0.193376s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_servicing_fails [0.160298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.210567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.148278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.280565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.388918s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.168000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.129776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.079156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.137547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.133011s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_when_appropriate [0.283479s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.080674s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.262073s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.083280s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.156842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_service [0.106249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.078263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.058292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.174131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.227050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.153589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.163215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.146965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.088488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.079372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.053522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.083854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.075274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.118869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.046924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.060322s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.108658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.119831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.148251s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.070983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.109321s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.059554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.150476s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.050264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.158949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.150432s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.089931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.117405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.031974s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.048786s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.041736s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.025693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.040193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.028517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [0.082507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.037915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.072067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.028783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.044553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.047616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.044148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.047768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.056505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.029587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.043233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.044836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_service_step [0.095589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.189885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.083620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.069894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.043467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.040606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.052186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.081484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.030709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.022030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps [0.037558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps_older_client [0.038694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.038766s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.038838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.034964s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.023255s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.064770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.039105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.028540s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.573250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.047705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.058774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.167235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.090460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.032930s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.042285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.082941s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.098777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.049807s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.097533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_non_image_deploy [0.087249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.038024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_anaconda [0.034264s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.043399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.034576s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.043903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.091171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.246603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.138764s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.115671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.068252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.053691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.066084s] ... 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.031091s] ... 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.028978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.100306s] ... 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.064477s] ... 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.064640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.103838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.034313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.087132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.067348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.068734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.081248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.207563s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.303588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.199645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.133497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_clear [0.138872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_new_value [0.108664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_replace_with_empty [0.033568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootBaseUtils.test__node_set_boot_device_for_network_boot [0.062859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.083370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.155689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.102130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_http_boot_enabled [0.097658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk [0.224871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk_rescue [0.283168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk_uefi [0.383127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.282438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.181607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.238309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.161730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.123908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.145810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.143417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.318171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.100281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.023817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.021159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.077558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.035448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.042375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.090588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.410126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.093631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.058132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.130525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.090416s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.080448s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.097309s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.128182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.106018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.168924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.055378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.033239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.207305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.240843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.283934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.203024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.344420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.054434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.089240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.032605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.040173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_create [0.043534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component [0.061845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_does_not_exist [0.052977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_node_does_not_exist [0.054582s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_save [0.224116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_create_and_update [0.066421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_nochange [0.113094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.077420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.100651s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.046470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.034826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.075184s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.099781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.040402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.095087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.112326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.119544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.069569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.065942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.203954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.109442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.152880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.154506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.191914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.153590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.079182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.030151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.027663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.051472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.048300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.122489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.035536s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.050666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write [0.036684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_custom_ioerror [0.132645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block [0.138969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block_too_many_times [0.104170s] ... ok DEBUG util.py:445: ====== DEBUG util.py:445: Totals DEBUG util.py:445: ====== DEBUG util.py:445: Ran: 9524 tests in 329.2914 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: 879.7249 sec. DEBUG util.py:445: ============== DEBUG util.py:445: Worker Balance DEBUG util.py:445: ============== DEBUG util.py:445: - Worker 0 (2887 tests) => 0:05:28.506197 DEBUG util.py:445: - Worker 1 (1795 tests) => 0:02:32.267534 DEBUG util.py:445: - Worker 2 (2536 tests) => 0:03:38.395292 DEBUG util.py:445: - Worker 3 (2306 tests) => 0:03:08.857001 DEBUG util.py:445: Test id Runtime (s) DEBUG util.py:445: ----------------------------------------------------------------------------------------------------------------------------- ----------- DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on 4.055 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout 3.090 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout 3.047 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok 2.082 DEBUG util.py:445: ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple 2.067 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok 2.051 DEBUG util.py:445: ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail 2.050 DEBUG util.py:445: ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states 1.546 DEBUG util.py:445: ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_053_owner_admin_cannot_change_owner 1.449 DEBUG util.py:445: ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value 1.423 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:445: Processing files: openstack-ironic-24.0.1-0.20240318180950.99b1f9c.el9.noarch DEBUG util.py:443: ++ jobs -p DEBUG util.py:445: + exit 0 DEBUG util.py:445: Provides: openstack-ironic = 1:24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.noarch DEBUG util.py:443: warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-24.0.1-0.20240318180950.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.MB3adW 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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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.pLCWdQ 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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9 openstack-ironic-common = 1:24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-api = 1:24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-conductor = 1:24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.noarch DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.NvJaAw 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.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.99b1f9c.el9 openstack-ironic-dnsmasq-tftp-server = 1:24.0.1-0.20240318180950.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.20240318180950.99b1f9c.el9.noarch DEBUG util.py:445: Provides: python-ironic-tests = 1:24.0.1-0.20240318180950.99b1f9c.el9 python3-ironic-tests = 1:24.0.1-0.20240318180950.99b1f9c.el9 python3.9-ironic-tests = 1:24.0.1-0.20240318180950.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.20240318180950.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.20240318180950.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.20240318180950.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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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-master-uc-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