RUN: /usr/share/launchpad-buildd/slavebin/slave-prep Forking launchpad-buildd slave process... Kernel version: Linux lcy01-19 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 Buildd toolchain package versions: launchpad-buildd_154 python-lpbuildd_154 sbuild_0.67.0-2ubuntu7.1 bzr-builder_0.7.3+bzr174~ppa13~ubuntu14.10.1 bzr_2.7.0-2ubuntu3.1 git-build-recipe_0.3.4~git201611291343.dcee459~ubuntu16.04.1 git_1:2.7.4-0ubuntu1.3 dpkg-dev_1.18.4ubuntu1.2 python-debian_0.1.27ubuntu2. Syncing the system clock with the buildd NTP service... 31 Oct 14:09:07 ntpdate[1783]: adjust time server 10.211.37.1 offset -0.004445 sec RUN: /usr/share/launchpad-buildd/slavebin/in-target unpack-chroot --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 /home/buildd/filecache-default/e4c0063eff90e17a3bbe5bc75217617f6b0962e3 Creating target for build PACKAGEBUILD-13649185 RUN: /usr/share/launchpad-buildd/slavebin/in-target mount-chroot --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 Starting target for build PACKAGEBUILD-13649185 RUN: /usr/share/launchpad-buildd/slavebin/in-target override-sources-list --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 'deb http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial main' 'deb http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial main' 'deb http://ftpmaster.internal/ubuntu xenial main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu xenial-security main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu xenial-updates main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu xenial-proposed main restricted universe multiverse' Overriding sources.list in build-PACKAGEBUILD-13649185 RUN: /usr/share/launchpad-buildd/slavebin/in-target add-trusted-keys --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 Adding trusted keys to build-PACKAGEBUILD-13649185 OK /etc/apt/trusted.gpg -------------------- pub 1024D/437D05B5 2004-09-12 uid Ubuntu Archive Automatic Signing Key sub 2048g/79164387 2004-09-12 pub 1024D/FBB75451 2004-12-30 uid Ubuntu CD Image Automatic Signing Key pub 4096R/C0B21F32 2012-05-11 uid Ubuntu Archive Automatic Signing Key (2012) pub 4096R/EFE21092 2012-05-11 uid Ubuntu CD Image Automatic Signing Key (2012) pub 1024R/3B6F61A6 2011-11-30 uid Launchpad PPA for Openstack Ubuntu Testers RUN: /usr/share/launchpad-buildd/slavebin/in-target update-debian-chroot --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 Updating target for build PACKAGEBUILD-13649185 Hit:1 http://ftpmaster.internal/ubuntu xenial InRelease Get:2 http://ftpmaster.internal/ubuntu xenial-security InRelease [102 kB] Get:3 http://ftpmaster.internal/ubuntu xenial-updates InRelease [102 kB] Get:4 http://ftpmaster.internal/ubuntu xenial-proposed InRelease [253 kB] Get:5 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial InRelease [17.5 kB] Get:6 http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial InRelease [17.6 kB] Get:7 http://ftpmaster.internal/ubuntu xenial-security/main amd64 Packages [379 kB] Get:8 http://ftpmaster.internal/ubuntu xenial-security/main Translation-en [167 kB] Get:9 http://ftpmaster.internal/ubuntu xenial-security/restricted amd64 Packages [7472 B] Get:10 http://ftpmaster.internal/ubuntu xenial-security/restricted Translation-en [2412 B] Get:11 http://ftpmaster.internal/ubuntu xenial-security/universe amd64 Packages [177 kB] Get:12 http://ftpmaster.internal/ubuntu xenial-security/universe Translation-en [94.0 kB] Get:13 http://ftpmaster.internal/ubuntu xenial-security/multiverse amd64 Packages [3208 B] Get:14 http://ftpmaster.internal/ubuntu xenial-security/multiverse Translation-en [1336 B] Get:15 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 Packages [649 kB] Get:16 http://ftpmaster.internal/ubuntu xenial-updates/main Translation-en [271 kB] Get:17 http://ftpmaster.internal/ubuntu xenial-updates/restricted amd64 Packages [8088 B] Get:18 http://ftpmaster.internal/ubuntu xenial-updates/restricted Translation-en [2672 B] Get:19 http://ftpmaster.internal/ubuntu xenial-updates/universe amd64 Packages [542 kB] Get:20 http://ftpmaster.internal/ubuntu xenial-updates/universe Translation-en [220 kB] Get:21 http://ftpmaster.internal/ubuntu xenial-updates/multiverse amd64 Packages [16.2 kB] Get:22 http://ftpmaster.internal/ubuntu xenial-updates/multiverse Translation-en [7996 B] Get:23 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 Packages [144 kB] Get:24 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 Packages [80.8 kB] Get:25 http://ftpmaster.internal/ubuntu xenial-proposed/main Translation-en [28.8 kB] Get:26 http://ftpmaster.internal/ubuntu xenial-proposed/restricted amd64 Packages [64 B] Get:27 http://ftpmaster.internal/ubuntu xenial-proposed/restricted Translation-en [64 B] Get:28 http://ftpmaster.internal/ubuntu xenial-proposed/universe amd64 Packages [39.0 kB] Get:29 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main Translation-en [67.4 kB] Get:30 http://ftpmaster.internal/ubuntu xenial-proposed/universe Translation-en [15.2 kB] Get:31 http://ftpmaster.internal/ubuntu xenial-proposed/multiverse amd64 Packages [64 B] Get:32 http://ftpmaster.internal/ubuntu xenial-proposed/multiverse Translation-en [64 B] Get:33 http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial/main amd64 Packages [16.0 kB] Get:34 http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial/main Translation-en [7956 B] Fetched 3441 kB in 1s (2441 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages will be upgraded: apt apt-transport-https base-files bash binutils bsdutils ca-certificates coreutils cpp-5 dpkg dpkg-dev g++-5 gcc-5 gcc-5-base gnupg gpgv grep init init-system-helpers libapparmor1 libapt-pkg5.0 libasan2 libasn1-8-heimdal libatomic1 libaudit-common libaudit1 libblkid1 libc-bin libc-dev-bin libc6 libc6-dev libcc1-0 libcilkrts5 libcryptsetup4 libcurl3-gnutls libdbus-1-3 libdpkg-perl libfdisk1 libgcc-5-dev libgcrypt20 libgnutls30 libgomp1 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libidn11 libitm1 libk5crypto3 libkmod2 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 liblsan0 libmount1 libmpx0 libnettle6 libp11-kit0 libprocps4 libquadmath0 libroken18-heimdal librtmp1 libsmartcols1 libssl1.0.0 libstdc++-5-dev libstdc++6 libsystemd0 libtasn1-6 libtsan0 libubsan0 libudev1 libuuid1 libwind0-heimdal linux-libc-dev login lsb-base mount multiarch-support openssl passwd procps systemd systemd-sysv tar tzdata util-linux zlib1g 91 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 58.2 MB of archives. After this operation, 119 kB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 base-files amd64 9.4ubuntu4.5 [68.4 kB] Get:2 http://ftpmaster.internal/ubuntu xenial-security/main amd64 bash amd64 4.3-14ubuntu1.2 [583 kB] Get:3 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 bsdutils amd64 1:2.27.1-6ubuntu3.3 [52.0 kB] Get:4 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 coreutils amd64 8.25-2ubuntu3~16.04 [1174 kB] Get:5 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 libhogweed4 amd64 3.3-2~cloud0 [136 kB] Get:6 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 libnettle6 amd64 3.3-2~cloud0 [193 kB] Get:7 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 dpkg amd64 1.18.4ubuntu1.3 [2084 kB] Get:8 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 grep amd64 2.25-1~16.04.1 [153 kB] Get:9 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 init-system-helpers all 1.29ubuntu4 [32.3 kB] Get:10 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 init amd64 1.29ubuntu4 [4624 B] Get:11 http://ftpmaster.internal/ubuntu xenial-security/main amd64 login amd64 1:4.2-3.1ubuntu5.3 [304 kB] Get:12 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libsystemd0 amd64 229-4ubuntu21 [205 kB] Get:13 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 systemd amd64 229-4ubuntu21 [3628 kB] Get:14 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libc6-dev amd64 2.23-0ubuntu9 [2082 kB] Get:15 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libc-dev-bin amd64 2.23-0ubuntu9 [68.6 kB] Get:16 http://ftpmaster.internal/ubuntu xenial-security/main amd64 linux-libc-dev amd64 4.4.0-98.121 [843 kB] Get:17 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libc6 amd64 2.23-0ubuntu9 [2586 kB] Get:18 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libapparmor1 amd64 2.10.95-0ubuntu2.7 [31.2 kB] Get:19 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 libaudit-common all 1:2.4.5-1ubuntu2.1 [3924 B] Get:20 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 libaudit1 amd64 1:2.4.5-1ubuntu2.1 [36.2 kB] Get:21 http://ftpmaster.internal/ubuntu xenial-security/main amd64 passwd amd64 1:4.2-3.1ubuntu5.3 [779 kB] Get:22 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libuuid1 amd64 2.27.1-6ubuntu3.3 [15.7 kB] Get:23 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libblkid1 amd64 2.27.1-6ubuntu3.3 [107 kB] Get:24 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libgcrypt20 amd64 1.6.5-2ubuntu0.3 [338 kB] Get:25 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libcryptsetup4 amd64 2:1.6.6-5ubuntu2.1 [73.3 kB] Get:26 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libkmod2 amd64 22-1ubuntu5 [39.9 kB] Get:27 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libmount1 amd64 2.27.1-6ubuntu3.3 [114 kB] Get:28 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 lsb-base all 9.20160110ubuntu0.2 [13.7 kB] Get:29 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 util-linux amd64 2.27.1-6ubuntu3.3 [849 kB] Get:30 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 mount amd64 2.27.1-6ubuntu3.3 [121 kB] Get:31 http://ftpmaster.internal/ubuntu xenial-security/main amd64 tar amd64 1.28-2.1ubuntu0.1 [209 kB] Get:32 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libc-bin amd64 2.23-0ubuntu9 [627 kB] Get:33 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libubsan0 amd64 5.4.0-6ubuntu1~16.04.5 [95.3 kB] Get:34 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libtsan0 amd64 5.4.0-6ubuntu1~16.04.5 [244 kB] Get:35 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libgomp1 amd64 5.4.0-6ubuntu1~16.04.5 [55.1 kB] Get:36 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libitm1 amd64 5.4.0-6ubuntu1~16.04.5 [27.4 kB] Get:37 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libatomic1 amd64 5.4.0-6ubuntu1~16.04.5 [8920 B] Get:38 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libasan2 amd64 5.4.0-6ubuntu1~16.04.5 [264 kB] Get:39 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 liblsan0 amd64 5.4.0-6ubuntu1~16.04.5 [105 kB] Get:40 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libcilkrts5 amd64 5.4.0-6ubuntu1~16.04.5 [40.1 kB] Get:41 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libmpx0 amd64 5.4.0-6ubuntu1~16.04.5 [9786 B] Get:42 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libquadmath0 amd64 5.4.0-6ubuntu1~16.04.5 [131 kB] Get:43 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 zlib1g amd64 1:1.2.8.dfsg-2ubuntu4.1 [51.2 kB] Get:44 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 g++-5 amd64 5.4.0-6ubuntu1~16.04.5 [8435 kB] Get:45 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 gcc-5 amd64 5.4.0-6ubuntu1~16.04.5 [8638 kB] Get:46 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 cpp-5 amd64 5.4.0-6ubuntu1~16.04.5 [7786 kB] Get:47 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libcc1-0 amd64 5.4.0-6ubuntu1~16.04.5 [38.8 kB] Get:48 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 binutils amd64 2.26.1-1ubuntu1~16.04.5 [2311 kB] Get:49 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libstdc++-5-dev amd64 5.4.0-6ubuntu1~16.04.5 [1430 kB] Get:50 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libgcc-5-dev amd64 5.4.0-6ubuntu1~16.04.5 [2226 kB] Get:51 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 gcc-5-base amd64 5.4.0-6ubuntu1~16.04.5 [17.1 kB] Get:52 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libstdc++6 amd64 5.4.0-6ubuntu1~16.04.5 [393 kB] Get:53 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 libapt-pkg5.0 amd64 1.2.25 [706 kB] Get:54 http://ftpmaster.internal/ubuntu xenial-security/main amd64 gpgv amd64 1.4.20-1ubuntu3.1 [165 kB] Get:55 http://ftpmaster.internal/ubuntu xenial-security/main amd64 gnupg amd64 1.4.20-1ubuntu3.1 [626 kB] Get:56 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 apt amd64 1.2.25 [1041 kB] Get:57 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 systemd-sysv amd64 229-4ubuntu21 [12.1 kB] Get:58 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libfdisk1 amd64 2.27.1-6ubuntu3.3 [138 kB] Get:59 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libsmartcols1 amd64 2.27.1-6ubuntu3.3 [63.4 kB] Get:60 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libudev1 amd64 229-4ubuntu21 [54.6 kB] Get:61 http://ftpmaster.internal/ubuntu xenial-security/main amd64 multiarch-support amd64 2.23-0ubuntu9 [6826 B] Get:62 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libprocps4 amd64 2:3.3.10-4ubuntu2.3 [32.8 kB] Get:63 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 procps amd64 2:3.3.10-4ubuntu2.3 [222 kB] Get:64 http://ftpmaster.internal/ubuntu xenial-security/main amd64 tzdata all 2016j-0ubuntu0.16.04 [168 kB] Get:65 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libidn11 amd64 1.32-3ubuntu1.2 [46.5 kB] Get:66 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libp11-kit0 amd64 0.23.2-5~ubuntu16.04.1 [105 kB] Get:67 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libtasn1-6 amd64 4.7-3ubuntu0.16.04.2 [43.3 kB] Get:68 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libgnutls30 amd64 3.4.10-4ubuntu1.4 [548 kB] Get:69 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libssl1.0.0 amd64 1.0.2g-1ubuntu4.8 [1081 kB] Get:70 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libgssapi-krb5-2 amd64 1.13.2+dfsg-5ubuntu2 [120 kB] Get:71 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libkrb5-3 amd64 1.13.2+dfsg-5ubuntu2 [273 kB] Get:72 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libkrb5support0 amd64 1.13.2+dfsg-5ubuntu2 [30.8 kB] Get:73 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libk5crypto3 amd64 1.13.2+dfsg-5ubuntu2 [81.2 kB] Get:74 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libroken18-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [41.4 kB] Get:75 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libasn1-8-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [174 kB] Get:76 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libhcrypto4-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [85.0 kB] Get:77 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libheimbase1-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [29.3 kB] Get:78 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libwind0-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [47.8 kB] Get:79 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libhx509-5-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [107 kB] Get:80 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libkrb5-26-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [202 kB] Get:81 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libheimntlm0-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [15.1 kB] Get:82 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libgssapi3-heimdal amd64 1.7~git20150920+dfsg-4ubuntu1.16.04.1 [96.1 kB] Get:83 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libldap-2.4-2 amd64 2.4.42+dfsg-2ubuntu3.2 [160 kB] Get:84 http://ftpmaster.internal/ubuntu xenial-security/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d-1ubuntu0.1 [54.4 kB] Get:85 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libcurl3-gnutls amd64 7.47.0-1ubuntu2.4 [184 kB] Get:86 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 apt-transport-https amd64 1.2.25 [26.1 kB] Get:87 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 openssl amd64 1.0.2g-1ubuntu4.8 [492 kB] Get:88 http://ftpmaster.internal/ubuntu xenial-security/main amd64 ca-certificates all 20170717~16.04.1 [168 kB] Get:89 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libdbus-1-3 amd64 1.10.6-1ubuntu3.3 [161 kB] Get:90 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 dpkg-dev all 1.18.4ubuntu1.3 [584 kB] Get:91 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 libdpkg-perl all 1.18.4ubuntu1.3 [195 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 58.2 MB in 4s (13.9 MB/s) (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../base-files_9.4ubuntu4.5_amd64.deb ... Unpacking base-files (9.4ubuntu4.5) over (9.4ubuntu4) ... Setting up base-files (9.4ubuntu4.5) ... Installing new version of config file /etc/issue ... Installing new version of config file /etc/issue.net ... Installing new version of config file /etc/lsb-release ... Installing new version of config file /etc/update-motd.d/10-help-text ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../bash_4.3-14ubuntu1.2_amd64.deb ... Unpacking bash (4.3-14ubuntu1.2) over (4.3-14ubuntu1) ... Setting up bash (4.3-14ubuntu1.2) ... Installing new version of config file /etc/skel/.profile ... update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../bsdutils_1%3a2.27.1-6ubuntu3.3_amd64.deb ... Unpacking bsdutils (1:2.27.1-6ubuntu3.3) over (1:2.27.1-6ubuntu3) ... Setting up bsdutils (1:2.27.1-6ubuntu3.3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../coreutils_8.25-2ubuntu3~16.04_amd64.deb ... Unpacking coreutils (8.25-2ubuntu3~16.04) over (8.25-2ubuntu2) ... Setting up coreutils (8.25-2ubuntu3~16.04) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../dpkg_1.18.4ubuntu1.3_amd64.deb ... Unpacking dpkg (1.18.4ubuntu1.3) over (1.18.4ubuntu1) ... Setting up dpkg (1.18.4ubuntu1.3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../grep_2.25-1~16.04.1_amd64.deb ... Unpacking grep (2.25-1~16.04.1) over (2.24-1) ... Setting up grep (2.25-1~16.04.1) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../init-system-helpers_1.29ubuntu4_all.deb ... Unpacking init-system-helpers (1.29ubuntu4) over (1.29ubuntu1) ... Setting up init-system-helpers (1.29ubuntu4) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../init_1.29ubuntu4_amd64.deb ... Unpacking init (1.29ubuntu4) over (1.29ubuntu1) ... Setting up init (1.29ubuntu4) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../login_1%3a4.2-3.1ubuntu5.3_amd64.deb ... Unpacking login (1:4.2-3.1ubuntu5.3) over (1:4.2-3.1ubuntu5) ... Setting up login (1:4.2-3.1ubuntu5.3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../libsystemd0_229-4ubuntu21_amd64.deb ... Unpacking libsystemd0:amd64 (229-4ubuntu21) over (229-4ubuntu4) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libsystemd0:amd64 (229-4ubuntu21) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12186 files and directories currently installed.) Preparing to unpack .../systemd_229-4ubuntu21_amd64.deb ... Unpacking systemd (229-4ubuntu21) over (229-4ubuntu4) ... Setting up systemd (229-4ubuntu21) ... Installing new version of config file /etc/systemd/system.conf ... addgroup: The group `systemd-journal' already exists as a system group. Exiting. Operation failed: No such file or directory (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libc6-dev_2.23-0ubuntu9_amd64.deb ... Unpacking libc6-dev:amd64 (2.23-0ubuntu9) over (2.23-0ubuntu3) ... Preparing to unpack .../libc-dev-bin_2.23-0ubuntu9_amd64.deb ... Unpacking libc-dev-bin (2.23-0ubuntu9) over (2.23-0ubuntu3) ... Preparing to unpack .../linux-libc-dev_4.4.0-98.121_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.4.0-98.121) over (4.4.0-21.37) ... Preparing to unpack .../libc6_2.23-0ubuntu9_amd64.deb ... Unpacking libc6:amd64 (2.23-0ubuntu9) over (2.23-0ubuntu3) ... Setting up libc6:amd64 (2.23-0ubuntu9) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libapparmor1_2.10.95-0ubuntu2.7_amd64.deb ... Unpacking libapparmor1:amd64 (2.10.95-0ubuntu2.7) over (2.10.95-0ubuntu2) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libapparmor1:amd64 (2.10.95-0ubuntu2.7) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libaudit-common_1%3a2.4.5-1ubuntu2.1_all.deb ... Unpacking libaudit-common (1:2.4.5-1ubuntu2.1) over (1:2.4.5-1ubuntu2) ... Setting up libaudit-common (1:2.4.5-1ubuntu2.1) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libaudit1_1%3a2.4.5-1ubuntu2.1_amd64.deb ... Unpacking libaudit1:amd64 (1:2.4.5-1ubuntu2.1) over (1:2.4.5-1ubuntu2) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libaudit1:amd64 (1:2.4.5-1ubuntu2.1) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../passwd_1%3a4.2-3.1ubuntu5.3_amd64.deb ... Unpacking passwd (1:4.2-3.1ubuntu5.3) over (1:4.2-3.1ubuntu5) ... Setting up passwd (1:4.2-3.1ubuntu5.3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libuuid1_2.27.1-6ubuntu3.3_amd64.deb ... Unpacking libuuid1:amd64 (2.27.1-6ubuntu3.3) over (2.27.1-6ubuntu3) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libuuid1:amd64 (2.27.1-6ubuntu3.3) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libblkid1_2.27.1-6ubuntu3.3_amd64.deb ... Unpacking libblkid1:amd64 (2.27.1-6ubuntu3.3) over (2.27.1-6ubuntu3) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libblkid1:amd64 (2.27.1-6ubuntu3.3) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libgcrypt20_1.6.5-2ubuntu0.3_amd64.deb ... Unpacking libgcrypt20:amd64 (1.6.5-2ubuntu0.3) over (1.6.5-2) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libgcrypt20:amd64 (1.6.5-2ubuntu0.3) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libcryptsetup4_2%3a1.6.6-5ubuntu2.1_amd64.deb ... Unpacking libcryptsetup4:amd64 (2:1.6.6-5ubuntu2.1) over (2:1.6.6-5ubuntu2) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libcryptsetup4:amd64 (2:1.6.6-5ubuntu2.1) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libkmod2_22-1ubuntu5_amd64.deb ... Unpacking libkmod2:amd64 (22-1ubuntu5) over (22-1ubuntu4) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libkmod2:amd64 (22-1ubuntu5) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libmount1_2.27.1-6ubuntu3.3_amd64.deb ... Unpacking libmount1:amd64 (2.27.1-6ubuntu3.3) over (2.27.1-6ubuntu3) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... Setting up libmount1:amd64 (2.27.1-6ubuntu3.3) ... Processing triggers for libc-bin (2.23-0ubuntu3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../lsb-base_9.20160110ubuntu0.2_all.deb ... Unpacking lsb-base (9.20160110ubuntu0.2) over (9.20160110) ... Setting up lsb-base (9.20160110ubuntu0.2) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../util-linux_2.27.1-6ubuntu3.3_amd64.deb ... Unpacking util-linux (2.27.1-6ubuntu3.3) over (2.27.1-6ubuntu3) ... Setting up util-linux (2.27.1-6ubuntu3.3) ... Processing triggers for systemd (229-4ubuntu21) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../mount_2.27.1-6ubuntu3.3_amd64.deb ... Unpacking mount (2.27.1-6ubuntu3.3) over (2.27.1-6ubuntu3) ... Setting up mount (2.27.1-6ubuntu3.3) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../tar_1.28-2.1ubuntu0.1_amd64.deb ... Unpacking tar (1.28-2.1ubuntu0.1) over (1.28-2.1) ... Setting up tar (1.28-2.1ubuntu0.1) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libc-bin_2.23-0ubuntu9_amd64.deb ... Unpacking libc-bin (2.23-0ubuntu9) over (2.23-0ubuntu3) ... Setting up libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../libubsan0_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libubsan0:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libtsan0_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libtsan0:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libgomp1_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libgomp1:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libitm1_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libitm1:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libatomic1_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libatomic1:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libasan2_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libasan2:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../liblsan0_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking liblsan0:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libcilkrts5_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libcilkrts5:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libmpx0_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libmpx0:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libquadmath0_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libquadmath0:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../zlib1g_1%3a1.2.8.dfsg-2ubuntu4.1_amd64.deb ... Unpacking zlib1g:amd64 (1:1.2.8.dfsg-2ubuntu4.1) over (1:1.2.8.dfsg-2ubuntu4) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up zlib1g:amd64 (1:1.2.8.dfsg-2ubuntu4.1) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12179 files and directories currently installed.) Preparing to unpack .../g++-5_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking g++-5 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../gcc-5_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking gcc-5 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../cpp-5_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking cpp-5 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libcc1-0_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libcc1-0:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../binutils_2.26.1-1ubuntu1~16.04.5_amd64.deb ... Unpacking binutils (2.26.1-1ubuntu1~16.04.5) over (2.26-8ubuntu2) ... Preparing to unpack .../libstdc++-5-dev_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libstdc++-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../libgcc-5-dev_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libgcc-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Preparing to unpack .../gcc-5-base_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking gcc-5-base:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up gcc-5-base:amd64 (5.4.0-6ubuntu1~16.04.5) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12182 files and directories currently installed.) Preparing to unpack .../libstdc++6_5.4.0-6ubuntu1~16.04.5_amd64.deb ... Unpacking libstdc++6:amd64 (5.4.0-6ubuntu1~16.04.5) over (5.3.1-14ubuntu2) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up libstdc++6:amd64 (5.4.0-6ubuntu1~16.04.5) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12182 files and directories currently installed.) Preparing to unpack .../libapt-pkg5.0_1.2.25_amd64.deb ... Unpacking libapt-pkg5.0:amd64 (1.2.25) over (1.2.10ubuntu1) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up libapt-pkg5.0:amd64 (1.2.25) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12182 files and directories currently installed.) Preparing to unpack .../gpgv_1.4.20-1ubuntu3.1_amd64.deb ... Unpacking gpgv (1.4.20-1ubuntu3.1) over (1.4.20-1ubuntu3) ... Setting up gpgv (1.4.20-1ubuntu3.1) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12182 files and directories currently installed.) Preparing to unpack .../gnupg_1.4.20-1ubuntu3.1_amd64.deb ... Unpacking gnupg (1.4.20-1ubuntu3.1) over (1.4.20-1ubuntu3) ... Setting up gnupg (1.4.20-1ubuntu3.1) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12182 files and directories currently installed.) Preparing to unpack .../archives/apt_1.2.25_amd64.deb ... Unpacking apt (1.2.25) over (1.2.10ubuntu1) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up apt (1.2.25) ... Installing new version of config file /etc/cron.daily/apt-compat ... Installing new version of config file /etc/kernel/postinst.d/apt-auto-removal ... Processing triggers for libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12184 files and directories currently installed.) Preparing to unpack .../systemd-sysv_229-4ubuntu21_amd64.deb ... Unpacking systemd-sysv (229-4ubuntu21) over (229-4ubuntu4) ... Setting up systemd-sysv (229-4ubuntu21) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12184 files and directories currently installed.) Preparing to unpack .../libfdisk1_2.27.1-6ubuntu3.3_amd64.deb ... Unpacking libfdisk1:amd64 (2.27.1-6ubuntu3.3) over (2.27.1-6ubuntu3) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up libfdisk1:amd64 (2.27.1-6ubuntu3.3) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12184 files and directories currently installed.) Preparing to unpack .../libsmartcols1_2.27.1-6ubuntu3.3_amd64.deb ... Unpacking libsmartcols1:amd64 (2.27.1-6ubuntu3.3) over (2.27.1-6ubuntu3) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up libsmartcols1:amd64 (2.27.1-6ubuntu3.3) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12184 files and directories currently installed.) Preparing to unpack .../libudev1_229-4ubuntu21_amd64.deb ... Unpacking libudev1:amd64 (229-4ubuntu21) over (229-4ubuntu4) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up libudev1:amd64 (229-4ubuntu21) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12184 files and directories currently installed.) Preparing to unpack .../multiarch-support_2.23-0ubuntu9_amd64.deb ... Unpacking multiarch-support (2.23-0ubuntu9) over (2.23-0ubuntu3) ... Setting up multiarch-support (2.23-0ubuntu9) ... (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12184 files and directories currently installed.) Preparing to unpack .../libprocps4_2%3a3.3.10-4ubuntu2.3_amd64.deb ... Unpacking libprocps4:amd64 (2:3.3.10-4ubuntu2.3) over (2:3.3.10-4ubuntu2) ... Preparing to unpack .../procps_2%3a3.3.10-4ubuntu2.3_amd64.deb ... Running in chroot, ignoring request. invoke-rc.d: policy-rc.d denied execution of stop. Unpacking procps (2:3.3.10-4ubuntu2.3) over (2:3.3.10-4ubuntu2) ... Preparing to unpack .../tzdata_2016j-0ubuntu0.16.04_all.deb ... Unpacking tzdata (2016j-0ubuntu0.16.04) over (2016d-0ubuntu0.16.04) ... Preparing to unpack .../libhogweed4_3.3-2~cloud0_amd64.deb ... Unpacking libhogweed4:amd64 (3.3-2~cloud0) over (3.2-1) ... Preparing to unpack .../libnettle6_3.3-2~cloud0_amd64.deb ... Unpacking libnettle6:amd64 (3.3-2~cloud0) over (3.2-1) ... Preparing to unpack .../libidn11_1.32-3ubuntu1.2_amd64.deb ... Unpacking libidn11:amd64 (1.32-3ubuntu1.2) over (1.32-3ubuntu1) ... Preparing to unpack .../libp11-kit0_0.23.2-5~ubuntu16.04.1_amd64.deb ... Unpacking libp11-kit0:amd64 (0.23.2-5~ubuntu16.04.1) over (0.23.2-3) ... Preparing to unpack .../libtasn1-6_4.7-3ubuntu0.16.04.2_amd64.deb ... Unpacking libtasn1-6:amd64 (4.7-3ubuntu0.16.04.2) over (4.7-3) ... Preparing to unpack .../libgnutls30_3.4.10-4ubuntu1.4_amd64.deb ... Unpacking libgnutls30:amd64 (3.4.10-4ubuntu1.4) over (3.4.10-4ubuntu1) ... Preparing to unpack .../libssl1.0.0_1.0.2g-1ubuntu4.8_amd64.deb ... Unpacking libssl1.0.0:amd64 (1.0.2g-1ubuntu4.8) over (1.0.2g-1ubuntu4) ... Preparing to unpack .../libgssapi-krb5-2_1.13.2+dfsg-5ubuntu2_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.13.2+dfsg-5ubuntu2) over (1.13.2+dfsg-5) ... Preparing to unpack .../libkrb5-3_1.13.2+dfsg-5ubuntu2_amd64.deb ... Unpacking libkrb5-3:amd64 (1.13.2+dfsg-5ubuntu2) over (1.13.2+dfsg-5) ... Preparing to unpack .../libkrb5support0_1.13.2+dfsg-5ubuntu2_amd64.deb ... Unpacking libkrb5support0:amd64 (1.13.2+dfsg-5ubuntu2) over (1.13.2+dfsg-5) ... Preparing to unpack .../libk5crypto3_1.13.2+dfsg-5ubuntu2_amd64.deb ... Unpacking libk5crypto3:amd64 (1.13.2+dfsg-5ubuntu2) over (1.13.2+dfsg-5) ... Preparing to unpack .../libroken18-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libroken18-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libasn1-8-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libasn1-8-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libhcrypto4-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libhcrypto4-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libheimbase1-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libheimbase1-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libwind0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libwind0-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libhx509-5-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libhx509-5-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libkrb5-26-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libkrb5-26-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libheimntlm0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libheimntlm0-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libgssapi3-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1_amd64.deb ... Unpacking libgssapi3-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) over (1.7~git20150920+dfsg-4ubuntu1) ... Preparing to unpack .../libldap-2.4-2_2.4.42+dfsg-2ubuntu3.2_amd64.deb ... Unpacking libldap-2.4-2:amd64 (2.4.42+dfsg-2ubuntu3.2) over (2.4.42+dfsg-2ubuntu3) ... Preparing to unpack .../librtmp1_2.4+20151223.gitfa8646d-1ubuntu0.1_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d-1ubuntu0.1) over (2.4+20151223.gitfa8646d-1build1) ... Preparing to unpack .../libcurl3-gnutls_7.47.0-1ubuntu2.4_amd64.deb ... Unpacking libcurl3-gnutls:amd64 (7.47.0-1ubuntu2.4) over (7.47.0-1ubuntu2) ... Preparing to unpack .../apt-transport-https_1.2.25_amd64.deb ... Unpacking apt-transport-https (1.2.25) over (1.2.10ubuntu1) ... Preparing to unpack .../openssl_1.0.2g-1ubuntu4.8_amd64.deb ... Unpacking openssl (1.0.2g-1ubuntu4.8) over (1.0.2g-1ubuntu4) ... Preparing to unpack .../ca-certificates_20170717~16.04.1_all.deb ... Unpacking ca-certificates (20170717~16.04.1) over (20160104ubuntu1) ... Preparing to unpack .../libdbus-1-3_1.10.6-1ubuntu3.3_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.10.6-1ubuntu3.3) over (1.10.6-1ubuntu3) ... Preparing to unpack .../dpkg-dev_1.18.4ubuntu1.3_all.deb ... Unpacking dpkg-dev (1.18.4ubuntu1.3) over (1.18.4ubuntu1) ... Preparing to unpack .../libdpkg-perl_1.18.4ubuntu1.3_all.deb ... Unpacking libdpkg-perl (1.18.4ubuntu1.3) over (1.18.4ubuntu1) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Processing triggers for systemd (229-4ubuntu21) ... Setting up libc-dev-bin (2.23-0ubuntu9) ... Setting up linux-libc-dev:amd64 (4.4.0-98.121) ... Setting up libc6-dev:amd64 (2.23-0ubuntu9) ... Setting up libubsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libtsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libgomp1:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libitm1:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libatomic1:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libasan2:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up liblsan0:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libcilkrts5:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libmpx0:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up libquadmath0:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up cpp-5 (5.4.0-6ubuntu1~16.04.5) ... Setting up libcc1-0:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up binutils (2.26.1-1ubuntu1~16.04.5) ... Setting up libgcc-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up gcc-5 (5.4.0-6ubuntu1~16.04.5) ... Setting up libstdc++-5-dev:amd64 (5.4.0-6ubuntu1~16.04.5) ... Setting up g++-5 (5.4.0-6ubuntu1~16.04.5) ... Setting up libprocps4:amd64 (2:3.3.10-4ubuntu2.3) ... Setting up procps (2:3.3.10-4ubuntu2.3) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Setting up tzdata (2016j-0ubuntu0.16.04) ... Current default time zone: 'Etc/UTC' Local time is now: Tue Oct 31 14:10:01 UTC 2017. Universal Time is now: Tue Oct 31 14:10:01 UTC 2017. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libnettle6:amd64 (3.3-2~cloud0) ... Setting up libhogweed4:amd64 (3.3-2~cloud0) ... Setting up libidn11:amd64 (1.32-3ubuntu1.2) ... Setting up libp11-kit0:amd64 (0.23.2-5~ubuntu16.04.1) ... Setting up libtasn1-6:amd64 (4.7-3ubuntu0.16.04.2) ... Setting up libgnutls30:amd64 (3.4.10-4ubuntu1.4) ... Setting up libssl1.0.0:amd64 (1.0.2g-1ubuntu4.8) ... Setting up libkrb5support0:amd64 (1.13.2+dfsg-5ubuntu2) ... Setting up libk5crypto3:amd64 (1.13.2+dfsg-5ubuntu2) ... Setting up libkrb5-3:amd64 (1.13.2+dfsg-5ubuntu2) ... Setting up libgssapi-krb5-2:amd64 (1.13.2+dfsg-5ubuntu2) ... Setting up libroken18-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libasn1-8-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libhcrypto4-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libheimbase1-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libwind0-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libhx509-5-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libkrb5-26-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libheimntlm0-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libgssapi3-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1.16.04.1) ... Setting up libldap-2.4-2:amd64 (2.4.42+dfsg-2ubuntu3.2) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d-1ubuntu0.1) ... Setting up libcurl3-gnutls:amd64 (7.47.0-1ubuntu2.4) ... Setting up apt-transport-https (1.2.25) ... Setting up openssl (1.0.2g-1ubuntu4.8) ... Setting up ca-certificates (20170717~16.04.1) ... Setting up libdbus-1-3:amd64 (1.10.6-1ubuntu3.3) ... Setting up libdpkg-perl (1.18.4ubuntu1.3) ... Setting up dpkg-dev (1.18.4ubuntu1.3) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Processing triggers for ca-certificates (20170717~16.04.1) ... Updating certificates in /etc/ssl/certs... 17 added, 42 removed; done. Running hooks in /etc/ca-certificates/update.d... done. RUN: /usr/share/launchpad-buildd/slavebin/sbuild-package PACKAGEBUILD-13649185 amd64 xenial -c chroot:build-PACKAGEBUILD-13649185 --arch=amd64 --dist=xenial --nolog -A ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1.dsc Initiating build PACKAGEBUILD-13649185 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on lcy01-19.buildd +==============================================================================+ | ironic 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 (amd64) 31 Oct 2017 14:10 | +==============================================================================+ Package: ironic Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Source Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Distribution: xenial Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 I: NOTICE: Log filtering will replace 'build/ironic-13UNtk/ironic-9.1.2.dev19.201710311400.xenial' with '<>' I: NOTICE: Log filtering will replace 'build/ironic-13UNtk' with '<>' I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-13649185/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1.dsc exists in .; copying to chroot Check architectures ------------------- Check dependencies ------------------ Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<>/resolver-h2WGa6/apt_archive/sbuild-build-depends-core-dummy.deb'. Ign:1 copy:/<>/resolver-h2WGa6/apt_archive ./ InRelease Get:2 copy:/<>/resolver-h2WGa6/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-h2WGa6/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-h2WGa6/apt_archive ./ Sources [214 B] Get:5 copy:/<>/resolver-h2WGa6/apt_archive ./ Packages [526 B] Fetched 2859 B in 0s (226 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install core build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: sbuild-build-depends-core-dummy 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 768 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-h2WGa6/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [768 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 768 B in 0s (0 B/s) Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12171 files and directories currently installed.) Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: debhelper (>= 9~), dh-python, dh-systemd, openstack-pkg-tools (>= 23~), python-all, python-pbr (>= 2.0.0), python-setuptools, python-sphinx (>= 1.5.1), alembic (>= 0.8.10), python-automaton (>= 0.5.0), python-babel (>= 2.3.4), python-bashate (>= 0.2), python-cinderclient (>= 1:3.1.0), python-coverage (>= 4.0), python-eventlet (>= 0.18.2), python-fixtures (>= 3.0.0), python-futurist (>= 0.11.0), python-glanceclient (>= 1:2.8.0), python-hacking (>= 0.12.0), python-ironic-lib (>= 2.5.0), python-ironicclient (>= 1.14.0), python-iso8601 (>= 0.1.11), python-jinja2 (>= 2.8), python-jsonpatch (>= 1.1), python-jsonschema (>= 2.0.0), python-keystoneauth1 (>= 3.1.0), python-keystonemiddleware (>= 4.12.0), python-mock (>= 2.0), python-neutronclient (>= 1:6.3.0), python-openstackdocstheme (>= 1.16.0), python-os-api-ref (>= 1.0.0), python-os-testr (>= 0.8.0), python-oslo.concurrency (>= 3.8.0), python-oslo.config (>= 1:4.0.0), python-oslo.context (>= 2.14.0), python-oslo.db (>= 4.24.0), python-oslo.i18n (>= 2.1.0), python-oslo.log (>= 3.11.0), python-oslo.messaging (>= 5.24.2), python-oslo.middleware (>= 3.27.0), python-oslo.policy (>= 1.23.0), python-oslo.reports (>= 0.6.0), python-oslo.rootwrap (>= 5.0.0), python-oslo.serialization (>= 1.10.0), python-oslo.service (>= 1.10.0), python-oslo.utils (>= 3.20.0), python-oslo.versionedobjects (>= 1.17.0), python-oslosphinx (>= 4.7.0), python-oslotest (>= 1.10.0), python-osprofiler (>= 1.11.0), python-paramiko (>= 2.0), python-pecan (>= 1.0.0), python-psutil (>= 3.2.2), python-psycopg2 (>= 2.5), python-pymysql (>= 0.7.6), python-requests (>= 2.10.0), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.9.0), python-sphinxcontrib-pecanwsme (>= 0.8), python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1.20.0), python-swiftclient (>= 1:3.2.0), python-testresources (>= 0.2.4), python-testscenarios (>= 0.4), python-testtools (>= 1.4.0), python-tooz (>= 1.47.0), python-tz (>= 2013.6), python-webob (>= 1.7.1), python-webtest (>= 2.0), python-wsme (>= 0.8) Filtered Build-Depends: debhelper (>= 9~), dh-python, dh-systemd, openstack-pkg-tools (>= 23~), python-all, python-pbr (>= 2.0.0), python-setuptools, python-sphinx (>= 1.5.1), alembic (>= 0.8.10), python-automaton (>= 0.5.0), python-babel (>= 2.3.4), python-bashate (>= 0.2), python-cinderclient (>= 1:3.1.0), python-coverage (>= 4.0), python-eventlet (>= 0.18.2), python-fixtures (>= 3.0.0), python-futurist (>= 0.11.0), python-glanceclient (>= 1:2.8.0), python-hacking (>= 0.12.0), python-ironic-lib (>= 2.5.0), python-ironicclient (>= 1.14.0), python-iso8601 (>= 0.1.11), python-jinja2 (>= 2.8), python-jsonpatch (>= 1.1), python-jsonschema (>= 2.0.0), python-keystoneauth1 (>= 3.1.0), python-keystonemiddleware (>= 4.12.0), python-mock (>= 2.0), python-neutronclient (>= 1:6.3.0), python-openstackdocstheme (>= 1.16.0), python-os-api-ref (>= 1.0.0), python-os-testr (>= 0.8.0), python-oslo.concurrency (>= 3.8.0), python-oslo.config (>= 1:4.0.0), python-oslo.context (>= 2.14.0), python-oslo.db (>= 4.24.0), python-oslo.i18n (>= 2.1.0), python-oslo.log (>= 3.11.0), python-oslo.messaging (>= 5.24.2), python-oslo.middleware (>= 3.27.0), python-oslo.policy (>= 1.23.0), python-oslo.reports (>= 0.6.0), python-oslo.rootwrap (>= 5.0.0), python-oslo.serialization (>= 1.10.0), python-oslo.service (>= 1.10.0), python-oslo.utils (>= 3.20.0), python-oslo.versionedobjects (>= 1.17.0), python-oslosphinx (>= 4.7.0), python-oslotest (>= 1.10.0), python-osprofiler (>= 1.11.0), python-paramiko (>= 2.0), python-pecan (>= 1.0.0), python-psutil (>= 3.2.2), python-psycopg2 (>= 2.5), python-pymysql (>= 0.7.6), python-requests (>= 2.10.0), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.9.0), python-sphinxcontrib-pecanwsme (>= 0.8), python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1.20.0), python-swiftclient (>= 1:3.2.0), python-testresources (>= 0.2.4), python-testscenarios (>= 0.4), python-testtools (>= 1.4.0), python-tooz (>= 1.47.0), python-tz (>= 2013.6), python-webob (>= 1.7.1), python-webtest (>= 2.0), python-wsme (>= 0.8) dpkg-deb: building package 'sbuild-build-depends-ironic-dummy' in '/<>/resolver-j4aHRn/apt_archive/sbuild-build-depends-ironic-dummy.deb'. Ign:1 copy:/<>/resolver-j4aHRn/apt_archive ./ InRelease Get:2 copy:/<>/resolver-j4aHRn/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-j4aHRn/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-j4aHRn/apt_archive ./ Sources [872 B] Get:5 copy:/<>/resolver-j4aHRn/apt_archive ./ Packages [1192 B] Fetched 4183 B in 0s (293 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install ironic build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: alembic apt-utils autoconf automake autopkgtest autopoint autotools-dev bsdmainutils debhelper dh-autoreconf dh-python dh-strip-nondeterminism dh-systemd docutils-common file formencode-i18n gettext gettext-base groff-base ieee-data intltool-debian libapt-inst2.0 libarchive-zip-perl libasprintf0v5 libcroco3 libencode-locale-perl libexpat1 libfile-listing-perl libfile-stripnondeterminism-perl libglib2.0-0 libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libicu55 libio-html-perl libio-socket-ssl-perl libjs-bootstrap libjs-jquery libjs-sphinxdoc libjs-underscore liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic1 libmpdec2 libnet-http-perl libnet-ssleay-perl libpipeline1 libpq5 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libpython3.5-minimal libpython3.5-stdlib libsigsegv2 libsubunit-perl libtimedate-perl libtool libunistring0 liburi-perl libwww-perl libwww-robotrules-perl libxdelta2 libxml-parser-perl libxml-xpath-perl libxml2 libxslt1.1 libyaml-0-2 m4 madison-lite man-db mime-support netbase openstack-pkg-tools po-debconf pristine-tar pycadf-common pyflakes python python-alabaster python-alembic python-all python-amqp python-anyjson python-appdirs python-asn1crypto python-automaton python-babel python-babel-localedata python-bashate python-blinker python-bs4 python-cachetools python-ceilometerclient python-certifi python-cffi-backend python-chardet python-cinderclient python-cliff python-cmd2 python-concurrent.futures python-configparser python-contextlib2 python-coverage python-crypto python-cryptography python-dateutil python-debtcollector python-decorator python-deprecation python-dnspython python-docutils python-dogpile.cache python-enum34 python-eventlet python-extras python-fasteners python-fixtures python-flake8 python-formencode python-funcsigs python-functools32 python-futurist python-glanceclient python-greenlet python-hacking python-idna python-imagesize python-ipaddr python-ipaddress python-ironic-lib python-ironicclient python-iso8601 python-jinja2 python-json-pointer python-jsonpatch python-jsonschema python-jwt python-kazoo python-keyring python-keystoneauth1 python-keystoneclient python-keystonemiddleware python-kombu python-linecache2 python-logutils python-lxml python-mako python-markupsafe python-mccabe python-migrate python-mimeparse python-minimal python-mock python-monotonic python-mox3 python-msgpack python-netaddr python-netifaces python-neutronclient python-novaclient python-oauthlib python-openssl python-openstackclient python-openstackdocstheme python-openstacksdk python-os-api-ref python-os-api-ref-common python-os-client-config python-os-testr python-osc-lib python-oslo.concurrency python-oslo.config python-oslo.context python-oslo.db python-oslo.i18n python-oslo.log python-oslo.messaging python-oslo.middleware python-oslo.policy python-oslo.reports python-oslo.rootwrap python-oslo.serialization python-oslo.service python-oslo.utils python-oslo.versionedobjects python-oslosphinx python-oslosphinx-common python-oslotest python-osprofiler python-paramiko python-paste python-pastedeploy python-pastedeploy-tpl python-pbr python-pecan python-pika python-pika-pool python-pkg-resources python-positional python-posix-ipc python-prettytable python-psutil python-psycopg2 python-pyasn1 python-pycadf python-pycodestyle python-pyflakes python-pygments python-pyinotify python-pymemcache python-pymysql python-pyparsing python-redis python-repoze.lru python-requests python-requestsexceptions python-retrying python-rfc3986 python-roman python-routes python-sendfile python-setuptools python-simplegeneric python-simplejson python-singledispatch python-six python-sphinx python-sphinxcontrib-pecanwsme python-sphinxcontrib.httpdomain python-sqlalchemy python-sqlparse python-statsd python-stevedore python-subunit python-swiftclient python-tempita python-tenacity python-testrepository python-testresources python-testscenarios python-testtools python-tooz python-traceback2 python-tz python-unicodecsv python-unittest2 python-urllib3 python-vine python-voluptuous python-waitress python-warlock python-webob python-webtest python-wrapt python-wsme python-yaml python-zake python-zope.interface python2.7 python2.7-minimal python3 python3-chardet python3-debian python3-extras python3-fixtures python3-linecache2 python3-mimeparse python3-minimal python3-pbr python3-pkg-resources python3-six python3-subunit python3-testrepository python3-testtools python3-traceback2 python3-unittest2 python3.5 python3.5-minimal sgml-base sphinx-common subunit sudo testrepository xdelta xml-core Suggested packages: autoconf-archive gnu-standards autoconf-doc schroot lxc lxd-client qemu-system qemu-utils wamerican | wordlist whois vacation dh-make gettext-doc groff libdata-dump-perl javascript-common libcrypt-ssleay-perl libtool-doc gfortran | fortran95-compiler gcj-jdk libauthen-ntlm-perl wget less www-browser libmail-box-perl python-doc python-tk python-editor python-amqp-doc python-automaton-doc python-blinker-doc python-ceilometerclient-doc python-cliff-doc python-coverage-doc python-crypto-dbg python-crypto-doc python-cryptography-doc python-cryptography-vectors python-debtcollector-doc texlive-latex-recommended texlive-latex-base texlive-lang-french fonts-linuxlibertine | ttf-linux-libertine python-enum34-doc python-egenix-mxdatetime python-funcsigs-doc python-futurist-doc python-glanceclient-doc python-greenlet-doc python-greenlet-dev python-greenlet-dbg python-jinja2-doc python-kazoo-doc gir1.2-gnomekeyring-1.0 python-fs python-gdata python-gi python-kde4 python-keyczar python-keystoneauth1-doc python-requests-kerberos python-beanstalkc python-boto python-couchdb python-django python-kombu-doc python-pymongo python-lxml-dbg python-lxml-doc python-beaker python-mako-doc python-migrate-doc python-mock-doc ipython python-netaddr-docs python-openssl-doc python-openssl-dbg python-openstacksdk-doc python-os-client-config-doc python-os-testr-doc python-osc-lib-doc python-oslo.concurrency-doc python-oslo.log-doc python-kafka python-zmq python-oslo.middleware-doc python-oslo.policy-doc python-oslo.reports-doc python-oslo.service-doc python-oslo.versionedobjects-doc python-gssapi python-pastescript python-pastewebkit libjs-mochikit libapache2-mod-wsgi libapache2-mod-python libapache2-mod-scgi python-pgsql python-pika-doc python-positional-doc python-psutil-doc python-psycopg2-doc doc-base ttf-bitstream-vera python-pyinotify-doc python-pymysql-doc python-pyparsing-doc python-hiredis python-socks python-setuptools-doc python-sphinx-rtd-theme libjs-mathjax dvipng texlive-latex-extra texlive-fonts-recommended texlive-generic-extra sphinx-doc python-sqlalchemy-doc python-fdb python-pymssql python-sqlparse-doc python-tenacity-doc python-testtools-doc python-twisted python-sysv-ipc python-ntlm python-waitress-doc python-webob-doc python-webtest-doc python-pyquery python2.7-doc binfmt-support python3-doc python3-tk python3-venv python3-setuptools python3.5-venv python3.5-doc sgml-base-doc Recommended packages: autodep8 curl | wget | lynx-cur libasprintf-dev libgettextpo-dev libglib2.0-data shared-mime-info xdg-user-dirs libhtml-format-perl javascript-common libltdl-dev libhtml-form-perl libhttp-daemon-perl libmailtools-perl ifupdown libmail-sendmail-perl pbzip2 pyflakes3 libjs-jquery-isonscreen libjs-jquery-tablesorter libjs-jquery-throttle-debounce python-pil libpaper-utils docutils-doc python-dbus python-secretstorage python-html5lib python-openid python-scgi python-pastescript python-egenix-mxdatetime python-sqlalchemy-ext python3-apt python-gtk2 python-junitxml The following NEW packages will be installed: alembic apt-utils autoconf automake autopkgtest autopoint autotools-dev bsdmainutils debhelper dh-autoreconf dh-python dh-strip-nondeterminism dh-systemd docutils-common file formencode-i18n gettext gettext-base groff-base ieee-data intltool-debian libapt-inst2.0 libarchive-zip-perl libasprintf0v5 libcroco3 libencode-locale-perl libexpat1 libfile-listing-perl libfile-stripnondeterminism-perl libglib2.0-0 libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libicu55 libio-html-perl libio-socket-ssl-perl libjs-bootstrap libjs-jquery libjs-sphinxdoc libjs-underscore liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic1 libmpdec2 libnet-http-perl libnet-ssleay-perl libpipeline1 libpq5 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libpython3.5-minimal libpython3.5-stdlib libsigsegv2 libsubunit-perl libtimedate-perl libtool libunistring0 liburi-perl libwww-perl libwww-robotrules-perl libxdelta2 libxml-parser-perl libxml-xpath-perl libxml2 libxslt1.1 libyaml-0-2 m4 madison-lite man-db mime-support netbase openstack-pkg-tools po-debconf pristine-tar pycadf-common pyflakes python python-alabaster python-alembic python-all python-amqp python-anyjson python-appdirs python-asn1crypto python-automaton python-babel python-babel-localedata python-bashate python-blinker python-bs4 python-cachetools python-ceilometerclient python-certifi python-cffi-backend python-chardet python-cinderclient python-cliff python-cmd2 python-concurrent.futures python-configparser python-contextlib2 python-coverage python-crypto python-cryptography python-dateutil python-debtcollector python-decorator python-deprecation python-dnspython python-docutils python-dogpile.cache python-enum34 python-eventlet python-extras python-fasteners python-fixtures python-flake8 python-formencode python-funcsigs python-functools32 python-futurist python-glanceclient python-greenlet python-hacking python-idna python-imagesize python-ipaddr python-ipaddress python-ironic-lib python-ironicclient python-iso8601 python-jinja2 python-json-pointer python-jsonpatch python-jsonschema python-jwt python-kazoo python-keyring python-keystoneauth1 python-keystoneclient python-keystonemiddleware python-kombu python-linecache2 python-logutils python-lxml python-mako python-markupsafe python-mccabe python-migrate python-mimeparse python-minimal python-mock python-monotonic python-mox3 python-msgpack python-netaddr python-netifaces python-neutronclient python-novaclient python-oauthlib python-openssl python-openstackclient python-openstackdocstheme python-openstacksdk python-os-api-ref python-os-api-ref-common python-os-client-config python-os-testr python-osc-lib python-oslo.concurrency python-oslo.config python-oslo.context python-oslo.db python-oslo.i18n python-oslo.log python-oslo.messaging python-oslo.middleware python-oslo.policy python-oslo.reports python-oslo.rootwrap python-oslo.serialization python-oslo.service python-oslo.utils python-oslo.versionedobjects python-oslosphinx python-oslosphinx-common python-oslotest python-osprofiler python-paramiko python-paste python-pastedeploy python-pastedeploy-tpl python-pbr python-pecan python-pika python-pika-pool python-pkg-resources python-positional python-posix-ipc python-prettytable python-psutil python-psycopg2 python-pyasn1 python-pycadf python-pycodestyle python-pyflakes python-pygments python-pyinotify python-pymemcache python-pymysql python-pyparsing python-redis python-repoze.lru python-requests python-requestsexceptions python-retrying python-rfc3986 python-roman python-routes python-sendfile python-setuptools python-simplegeneric python-simplejson python-singledispatch python-six python-sphinx python-sphinxcontrib-pecanwsme python-sphinxcontrib.httpdomain python-sqlalchemy python-sqlparse python-statsd python-stevedore python-subunit python-swiftclient python-tempita python-tenacity python-testrepository python-testresources python-testscenarios python-testtools python-tooz python-traceback2 python-tz python-unicodecsv python-unittest2 python-urllib3 python-vine python-voluptuous python-waitress python-warlock python-webob python-webtest python-wrapt python-wsme python-yaml python-zake python-zope.interface python2.7 python2.7-minimal python3 python3-chardet python3-debian python3-extras python3-fixtures python3-linecache2 python3-mimeparse python3-minimal python3-pbr python3-pkg-resources python3-six python3-subunit python3-testrepository python3-testtools python3-traceback2 python3-unittest2 python3.5 python3.5-minimal sbuild-build-depends-ironic-dummy sgml-base sphinx-common subunit sudo testrepository xdelta xml-core 0 upgraded, 291 newly installed, 0 to remove and 0 not upgraded. Need to get 47.7 MB of archives. After this operation, 223 MB of additional disk space will be used. Get:1 copy:/<>/resolver-j4aHRn/apt_archive ./ sbuild-build-depends-ironic-dummy 0.invalid.0 [1436 B] Get:2 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libpython3.5-minimal amd64 3.5.2-2ubuntu0~16.04.3 [524 kB] Get:3 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libexpat1 amd64 2.1.0-7ubuntu0.16.04.3 [71.2 kB] Get:4 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 python3.5-minimal amd64 3.5.2-2ubuntu0~16.04.3 [1596 kB] Get:5 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 dh-python all 2.20170125~cloud0 [87.0 kB] Get:6 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-minimal amd64 3.5.1-3 [23.3 kB] Get:7 http://ftpmaster.internal/ubuntu xenial/main amd64 mime-support all 3.59ubuntu1 [31.0 kB] Get:8 http://ftpmaster.internal/ubuntu xenial/main amd64 libmpdec2 amd64 2.4.2-1 [82.6 kB] Get:9 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-pyparsing all 2.1.10+dfsg1-1~cloud0 [54.3 kB] Get:10 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libpython3.5-stdlib amd64 3.5.2-2ubuntu0~16.04.3 [2132 kB] Get:11 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-babel-localedata all 2.4.0+dfsg.1-2ubuntu1~cloud0 [3434 kB] Get:12 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 python3.5 amd64 3.5.2-2ubuntu0~16.04.3 [165 kB] Get:13 http://ftpmaster.internal/ubuntu xenial/main amd64 libpython3-stdlib amd64 3.5.1-3 [6818 B] Get:14 http://ftpmaster.internal/ubuntu xenial/main amd64 python3 amd64 3.5.1-3 [8710 B] Get:15 http://ftpmaster.internal/ubuntu xenial/main amd64 groff-base amd64 1.22.3-7 [1151 kB] Get:16 http://ftpmaster.internal/ubuntu xenial/main amd64 bsdmainutils amd64 9.0.6ubuntu3 [174 kB] Get:17 http://ftpmaster.internal/ubuntu xenial/main amd64 libpipeline1 amd64 1.4.1-2 [24.6 kB] Get:18 http://ftpmaster.internal/ubuntu xenial/main amd64 man-db amd64 2.7.5-1 [854 kB] Get:19 http://ftpmaster.internal/ubuntu xenial/main amd64 sgml-base all 1.26+nmu4ubuntu1 [12.5 kB] Get:20 http://ftpmaster.internal/ubuntu xenial/main amd64 libsigsegv2 amd64 2.10-4 [14.1 kB] Get:21 http://ftpmaster.internal/ubuntu xenial/main amd64 libunistring0 amd64 0.9.3-5.2ubuntu1 [279 kB] Get:22 http://ftpmaster.internal/ubuntu xenial/main amd64 libyaml-0-2 amd64 0.1.6-3 [47.6 kB] Get:23 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libpython2.7-minimal amd64 2.7.12-1ubuntu0~16.04.1 [339 kB] Get:24 http://ftpmaster.internal/ubuntu xenial-security/main amd64 python2.7-minimal amd64 2.7.12-1ubuntu0~16.04.1 [1295 kB] Get:25 http://ftpmaster.internal/ubuntu xenial/main amd64 python-minimal amd64 2.7.11-1 [28.2 kB] Get:26 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libpython2.7-stdlib amd64 2.7.12-1ubuntu0~16.04.1 [1884 kB] Get:27 http://ftpmaster.internal/ubuntu xenial-security/main amd64 python2.7 amd64 2.7.12-1ubuntu0~16.04.1 [224 kB] Get:28 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-pkg-resources all 36.2.7-2~cloud0 [170 kB] Get:29 http://ftpmaster.internal/ubuntu xenial/main amd64 libpython-stdlib amd64 2.7.11-1 [7656 B] Get:30 http://ftpmaster.internal/ubuntu xenial/main amd64 python amd64 2.7.11-1 [137 kB] Get:31 http://ftpmaster.internal/ubuntu xenial/main amd64 python-cmd2 all 0.6.8-1 [22.4 kB] Get:32 http://ftpmaster.internal/ubuntu xenial/main amd64 python-extras all 0.0.3-3 [6734 B] Get:33 http://ftpmaster.internal/ubuntu xenial/main amd64 python-posix-ipc amd64 0.9.8-2build2 [14.7 kB] Get:34 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-alabaster all 0.7.7-1 [16.8 kB] Get:35 http://ftpmaster.internal/ubuntu xenial/main amd64 python-tz all 2014.10~dfsg1-0ubuntu2 [31.5 kB] Get:36 http://ftpmaster.internal/ubuntu xenial/main amd64 python-roman all 2.0.0-2 [8062 B] Get:37 http://ftpmaster.internal/ubuntu xenial/main amd64 xml-core all 0.13+nmu2 [23.3 kB] Get:38 http://ftpmaster.internal/ubuntu xenial/main amd64 docutils-common all 0.12+dfsg-1 [141 kB] Get:39 http://ftpmaster.internal/ubuntu xenial/main amd64 python-docutils all 0.12+dfsg-1 [348 kB] Get:40 http://ftpmaster.internal/ubuntu xenial/main amd64 python-markupsafe amd64 0.23-2build2 [15.5 kB] Get:41 http://ftpmaster.internal/ubuntu xenial/main amd64 python-jinja2 all 2.8-1 [109 kB] Get:42 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-certifi all 2015.11.20.1-2 [173 kB] Get:43 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-babel all 2.4.0+dfsg.1-2ubuntu1~cloud0 [84.4 kB] Get:44 http://ftpmaster.internal/ubuntu xenial/main amd64 python-six all 1.10.0-3 [10.9 kB] Get:45 http://ftpmaster.internal/ubuntu xenial/main amd64 libjs-jquery all 1.11.3+dfsg-4 [161 kB] Get:46 http://ftpmaster.internal/ubuntu xenial/main amd64 libjs-underscore all 1.7.0~dfsg-1ubuntu1 [46.7 kB] Get:47 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-sphinxcontrib.httpdomain all 1.3.0-1 [12.2 kB] Get:48 http://ftpmaster.internal/ubuntu xenial/main amd64 python-wrapt amd64 1.8.0-5build2 [25.5 kB] Get:49 http://ftpmaster.internal/ubuntu xenial/main amd64 python-concurrent.futures all 3.0.5-1 [31.6 kB] Get:50 http://ftpmaster.internal/ubuntu xenial/main amd64 python-kazoo all 2.2.1-1ubuntu1 [79.9 kB] Get:51 http://ftpmaster.internal/ubuntu xenial/main amd64 python-zope.interface amd64 4.1.3-1build1 [81.0 kB] Get:52 http://ftpmaster.internal/ubuntu xenial/main amd64 python-linecache2 all 1.0.0-2 [12.3 kB] Get:53 http://ftpmaster.internal/ubuntu xenial/main amd64 python-traceback2 all 1.4.0-3 [15.9 kB] Get:54 http://ftpmaster.internal/ubuntu xenial/main amd64 python-unittest2 all 1.1.0-6.1 [75.5 kB] Get:55 http://ftpmaster.internal/ubuntu xenial/main amd64 python-mimeparse all 0.1.4-1build1 [5916 B] Get:56 http://ftpmaster.internal/ubuntu xenial/main amd64 python-testtools all 1.8.1-0ubuntu1 [111 kB] Get:57 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-imagesize all 0.7.1-1~ubuntu16.04.1~ppa201704181405 [3954 B] Get:58 http://ftpmaster.internal/ubuntu xenial/main amd64 python-zake all 0.1.6-1 [13.9 kB] Get:59 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-extras all 0.0.3-3 [6672 B] Get:60 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-pygments all 2.2.0+dfsg-1~ubuntu16.04.1~ppa201704181404 [594 kB] Get:61 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 libapt-inst2.0 amd64 1.2.25 [55.5 kB] Get:62 http://ftpmaster.internal/ubuntu xenial-proposed/main amd64 apt-utils amd64 1.2.25 [196 kB] Get:63 http://ftpmaster.internal/ubuntu xenial/main amd64 libmagic1 amd64 1:5.25-2ubuntu1 [216 kB] Get:64 http://ftpmaster.internal/ubuntu xenial/main amd64 file amd64 1:5.25-2ubuntu1 [21.2 kB] Get:65 http://ftpmaster.internal/ubuntu xenial/main amd64 netbase all 5.3 [12.9 kB] Get:66 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 sudo amd64 1.8.16-0ubuntu1.5 [390 kB] Get:67 http://ftpmaster.internal/ubuntu xenial/main amd64 libasprintf0v5 amd64 0.19.7-2ubuntu3 [6412 B] Get:68 http://ftpmaster.internal/ubuntu xenial/main amd64 gettext-base amd64 0.19.7-2ubuntu3 [47.9 kB] Get:69 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libglib2.0-0 amd64 2.48.2-0ubuntu1 [1119 kB] Get:70 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libicu55 amd64 55.1-7ubuntu0.3 [7658 kB] Get:71 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-chardet all 3.0.4-1~cloud0 [81.8 kB] Get:72 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-idna all 2.5-1~cloud0 [31.5 kB] Get:73 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-urllib3 all 1.21.1-1~cloud0 [97.2 kB] Get:74 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-requests all 2.18.1-1~cloud0 [76.4 kB] Get:75 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libxml2 amd64 2.9.3+dfsg1-1ubuntu0.3 [697 kB] Get:76 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 libjs-sphinxdoc all 1.5.6-2~cloud0 [78.4 kB] Get:77 http://ftpmaster.internal/ubuntu xenial/main amd64 python-mako all 1.0.3+ds1-1ubuntu1 [59.6 kB] Get:78 http://ftpmaster.internal/ubuntu xenial/main amd64 m4 amd64 1.4.17-5 [195 kB] Get:79 http://ftpmaster.internal/ubuntu xenial/main amd64 autoconf all 2.69-9 [321 kB] Get:80 http://ftpmaster.internal/ubuntu xenial/main amd64 autotools-dev all 20150820.1 [39.8 kB] Get:81 http://ftpmaster.internal/ubuntu xenial/main amd64 automake all 1:1.15-4ubuntu1 [510 kB] Get:82 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 sphinx-common all 1.5.6-2~cloud0 [386 kB] Get:83 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-six all 1.10.0-3 [11.0 kB] Get:84 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-debian all 0.1.27ubuntu2 [43.6 kB] Get:85 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 autopkgtest all 3.20.4ubuntu1 [126 kB] Get:86 http://ftpmaster.internal/ubuntu xenial/main amd64 autopoint all 0.19.7-2ubuntu3 [406 kB] Get:87 http://ftpmaster.internal/ubuntu xenial/main amd64 libtool all 2.4.6-0.1 [193 kB] Get:88 http://ftpmaster.internal/ubuntu xenial/main amd64 libarchive-zip-perl all 1.56-2 [84.1 kB] Get:89 http://ftpmaster.internal/ubuntu xenial/main amd64 libfile-stripnondeterminism-perl all 0.015-1 [10.3 kB] Get:90 http://ftpmaster.internal/ubuntu xenial/main amd64 libtimedate-perl all 2.3000-2 [37.5 kB] Get:91 http://ftpmaster.internal/ubuntu xenial/main amd64 dh-strip-nondeterminism all 0.015-1 [4864 B] Get:92 http://ftpmaster.internal/ubuntu xenial/main amd64 libcroco3 amd64 0.6.11-1 [81.6 kB] Get:93 http://ftpmaster.internal/ubuntu xenial/main amd64 gettext amd64 0.19.7-2ubuntu3 [1076 kB] Get:94 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-sphinx all 1.5.6-2~cloud0 [430 kB] Get:95 http://ftpmaster.internal/ubuntu xenial/main amd64 intltool-debian all 0.35.0+20060710.4 [24.9 kB] Get:96 http://ftpmaster.internal/ubuntu xenial/main amd64 po-debconf all 1.0.19 [234 kB] Get:97 http://ftpmaster.internal/ubuntu xenial/main amd64 formencode-i18n all 1.3.0-0ubuntu5 [3382 B] Get:98 http://ftpmaster.internal/ubuntu xenial/main amd64 libencode-locale-perl all 1.05-1 [12.3 kB] Get:99 http://ftpmaster.internal/ubuntu xenial/main amd64 libhttp-date-perl all 6.02-1 [10.4 kB] Get:100 http://ftpmaster.internal/ubuntu xenial/main amd64 libfile-listing-perl all 6.04-1 [9774 B] Get:101 http://ftpmaster.internal/ubuntu xenial/main amd64 libhtml-tagset-perl all 3.20-2 [13.5 kB] Get:102 http://ftpmaster.internal/ubuntu xenial/main amd64 liburi-perl all 1.71-1 [76.9 kB] Get:103 http://ftpmaster.internal/ubuntu xenial/main amd64 libhtml-parser-perl amd64 3.72-1 [86.1 kB] Get:104 http://ftpmaster.internal/ubuntu xenial/main amd64 libhtml-tree-perl all 5.03-2 [197 kB] Get:105 http://ftpmaster.internal/ubuntu xenial/main amd64 libio-html-perl all 1.001-1 [14.9 kB] Get:106 http://ftpmaster.internal/ubuntu xenial/main amd64 liblwp-mediatypes-perl all 6.02-1 [21.7 kB] Get:107 http://ftpmaster.internal/ubuntu xenial/main amd64 libhttp-message-perl all 6.11-1 [74.3 kB] Get:108 http://ftpmaster.internal/ubuntu xenial/main amd64 libhttp-cookies-perl all 6.01-1 [17.2 kB] Get:109 http://ftpmaster.internal/ubuntu xenial/main amd64 libhttp-negotiate-perl all 6.00-2 [13.4 kB] Get:110 http://ftpmaster.internal/ubuntu xenial/main amd64 libnet-ssleay-perl amd64 1.72-1build1 [259 kB] Get:111 http://ftpmaster.internal/ubuntu xenial/main amd64 libio-socket-ssl-perl all 2.024-1 [159 kB] Get:112 http://ftpmaster.internal/ubuntu xenial/main amd64 libnet-http-perl all 6.09-1 [24.0 kB] Get:113 http://ftpmaster.internal/ubuntu xenial/main amd64 liblwp-protocol-https-perl all 6.06-2 [8682 B] Get:114 http://ftpmaster.internal/ubuntu xenial/main amd64 libwww-robotrules-perl all 6.01-1 [14.1 kB] Get:115 http://ftpmaster.internal/ubuntu xenial/main amd64 libwww-perl all 6.15-1 [146 kB] Get:116 http://ftpmaster.internal/ubuntu xenial/main amd64 ieee-data all 20150531.1 [830 kB] Get:117 http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial/main amd64 python-pbr all 2.0.0-0ubuntu1 [60.7 kB] Get:118 http://ftpmaster.internal/ubuntu xenial/universe amd64 libjs-bootstrap all 3.3.6+dfsg-1 [227 kB] Get:119 http://ftpmaster.internal/ubuntu xenial-updates/main amd64 libpq5 amd64 9.5.9-0ubuntu0.16.04 [78.8 kB] Get:120 http://ftpmaster.internal/ubuntu xenial/universe amd64 libsubunit-perl all 1.1.0-3 [6390 B] Get:121 http://ftpmaster.internal/ubuntu xenial/universe amd64 libxdelta2 amd64 1.1.3-9.1ubuntu1 [47.2 kB] Get:122 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-sqlalchemy all 1.1.9+ds1-0ubuntu3~cloud0 [688 kB] Get:123 http://ftpmaster.internal/ubuntu xenial/main amd64 libxml-parser-perl amd64 2.44-1build1 [200 kB] Get:124 http://ftpmaster.internal/ubuntu xenial/universe amd64 libxml-xpath-perl all 1.30-1 [75.0 kB] Get:125 http://ftpmaster.internal/ubuntu xenial-security/main amd64 libxslt1.1 amd64 1.1.28-2.1ubuntu0.1 [145 kB] Get:126 http://ftpmaster.internal/ubuntu xenial/universe amd64 madison-lite all 0.21 [13.7 kB] Get:127 http://ftpmaster.internal/ubuntu xenial/universe amd64 xdelta amd64 1.1.3-9.1ubuntu1 [24.1 kB] Get:128 http://ftpmaster.internal/ubuntu xenial/universe amd64 pristine-tar amd64 1.33 [102 kB] Get:129 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-pyflakes all 1.1.0-2 [36.9 kB] Get:130 http://ftpmaster.internal/ubuntu xenial/universe amd64 pyflakes all 1.1.0-2 [3066 B] Get:131 http://ftpmaster.internal/ubuntu xenial/main amd64 python-all amd64 2.7.11-1 [978 B] Get:132 http://ftpmaster.internal/ubuntu xenial/main amd64 python-anyjson all 0.3.3-1build1 [7096 B] Get:133 http://ftpmaster.internal/ubuntu xenial/main amd64 python-appdirs all 1.4.0-2 [9768 B] Get:134 http://ftpmaster.internal/ubuntu xenial/main amd64 python-debtcollector all 1.3.0-2 [12.8 kB] Get:135 http://ftpmaster.internal/ubuntu xenial/main amd64 python-prettytable all 0.7.2-3 [19.6 kB] Get:136 http://ftpmaster.internal/ubuntu xenial/main amd64 python-automaton all 1.2.0-1 [14.7 kB] Get:137 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-bashate all 0.3.1-2 [8114 B] Get:138 http://ftpmaster.internal/ubuntu xenial/main amd64 python-blinker all 1.3.dfsg2-1build1 [12.4 kB] Get:139 http://ftpmaster.internal/ubuntu xenial/main amd64 python-bs4 all 4.4.1-1 [64.2 kB] Get:140 http://ftpmaster.internal/ubuntu xenial/main amd64 python-iso8601 all 0.1.11-1 [12.8 kB] Get:141 http://ftpmaster.internal/ubuntu xenial/main amd64 python-lxml amd64 3.5.0-1build1 [819 kB] Get:142 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-alembic all 0.8.10-0ubuntu2~cloud0 [104 kB] Get:143 http://ftpmaster.internal/ubuntu xenial/main amd64 python-enum34 all 1.1.2-1 [35.8 kB] Get:144 http://ftpmaster.internal/ubuntu xenial/main amd64 python-ipaddress all 1.0.16-1 [18.0 kB] Get:145 http://ftpmaster.internal/ubuntu xenial-security/main amd64 python-jwt all 1.3.0-1ubuntu0.1 [20.5 kB] Get:146 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 alembic all 0.8.10-0ubuntu2~cloud0 [348 kB] Get:147 http://ftpmaster.internal/ubuntu xenial/main amd64 python-oauthlib all 1.0.3-1 [62.7 kB] Get:148 http://ftpmaster.internal/ubuntu xenial/main amd64 python-msgpack amd64 0.4.6-1build1 [61.3 kB] Get:149 http://ftpmaster.internal/ubuntu xenial/main amd64 python-monotonic all 0.6-2 [4974 B] Get:150 http://ftpmaster.internal/ubuntu xenial/main amd64 python-netaddr all 0.7.18-1 [174 kB] Get:151 http://ftpmaster.internal/ubuntu xenial/main amd64 python-netifaces amd64 0.10.4-0.1build2 [16.7 kB] Get:152 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python3-pkg-resources all 36.2.7-2~cloud0 [140 kB] Get:153 http://ftpmaster.internal/ubuntu xenial/main amd64 python-simplejson amd64 3.8.1-1ubuntu2 [60.4 kB] Get:154 http://ftpmaster.internal/ubuntu xenial/main amd64 python-unicodecsv all 0.14.1-1 [11.3 kB] Get:155 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-configparser all 3.3.0r2-2 [80.2 kB] Get:156 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python3-chardet all 3.0.4-1~cloud0 [81.3 kB] Get:157 http://ftpmaster.internal/ubuntu xenial/main amd64 python-contextlib2 all 0.5.1-1 [9614 B] Get:158 http://ftpmaster.internal/ubuntu xenial-security/main amd64 python-crypto amd64 2.6.1-6ubuntu0.16.04.2 [246 kB] Get:159 http://ftpmaster.internal/ubuntu xenial/main amd64 python-dateutil all 2.4.2-1 [42.5 kB] Get:160 http://ftpmaster.internal/ubuntu xenial/main amd64 python-decorator all 4.0.6-1 [9326 B] Get:161 http://ftpmaster.internal/ubuntu xenial/main amd64 python-greenlet amd64 0.4.9-2fakesync1 [18.6 kB] Get:162 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 dh-autoreconf all 14~cloud0 [16.1 kB] Get:163 http://ftpmaster.internal/ubuntu xenial/main amd64 python-eventlet all 0.18.4-1ubuntu1 [101 kB] Get:164 http://ftpmaster.internal/ubuntu xenial/main amd64 python-fasteners all 0.12.0-2ubuntu1 [13.5 kB] Get:165 http://ftpmaster.internal/ubuntu xenial/main amd64 python-formencode all 1.3.0-0ubuntu5 [69.1 kB] Get:166 http://ftpmaster.internal/ubuntu xenial/main amd64 python-functools32 all 3.2.3.2-2 [10.7 kB] Get:167 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 debhelper all 10.2.2ubuntu1~cloud3 [838 kB] Get:168 http://ftpmaster.internal/ubuntu xenial/main amd64 python-futurist all 0.13.0-2 [20.7 kB] Get:169 http://ftpmaster.internal/ubuntu xenial/main amd64 python-ipaddr all 2.1.11-2 [14.9 kB] Get:170 http://ftpmaster.internal/ubuntu xenial/main amd64 python-pyinotify all 0.9.6-0fakesync1 [24.6 kB] Get:171 http://ftpmaster.internal/ubuntu xenial/main amd64 python-tempita all 0.5.2-1build1 [13.8 kB] Get:172 http://ftpmaster.internal/ubuntu xenial/main amd64 python-paste all 1.7.5.1-6ubuntu3 [367 kB] Get:173 http://ftpmaster.internal/ubuntu xenial/main amd64 python-pastedeploy-tpl all 1.5.2-1 [4518 B] Get:174 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 pycadf-common all 2.6.0-0ubuntu1~cloud0 [4942 B] Get:175 http://ftpmaster.internal/ubuntu xenial/main amd64 python-pastedeploy all 1.5.2-1 [25.5 kB] Get:176 http://ftpmaster.internal/ubuntu xenial/main amd64 python-repoze.lru all 0.6-6 [11.7 kB] Get:177 http://ftpmaster.internal/ubuntu xenial/main amd64 python-json-pointer all 1.9-3 [7186 B] Get:178 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-asn1crypto all 0.22.0-1~cloud0 [70.2 kB] Get:179 http://ftpmaster.internal/ubuntu xenial/main amd64 python-jsonpatch all 1.19-3 [12.3 kB] Get:180 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-funcsigs all 1.0.2-3~cloud0 [13.1 kB] Get:181 http://ftpmaster.internal/ubuntu xenial/main amd64 python-jsonschema all 2.5.1-4 [30.5 kB] Get:182 http://ftpmaster.internal/ubuntu xenial/main amd64 python-keyring all 7.3-1ubuntu1 [43.7 kB] Get:183 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-cachetools all 1.1.6-1~cloud0 [9242 B] Get:184 http://ftpmaster.internal/ubuntu xenial/main amd64 python-pika all 0.10.0-1 [73.0 kB] Get:185 http://ftpmaster.internal/ubuntu xenial/main amd64 python-pika-pool all 0.1.3-1ubuntu1 [6074 B] Get:186 http://ftpmaster.internal/ubuntu xenial/main amd64 python-retrying all 1.3.3-1 [7654 B] Get:187 http://ftpmaster.internal/ubuntu xenial/main amd64 python-logutils all 0.3.3-5 [16.7 kB] Get:188 http://ftpmaster.internal/ubuntu xenial/main amd64 python-sqlparse all 0.1.18-1 [27.9 kB] Get:189 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-mox3 all 0.10.0-2 [32.0 kB] Get:190 http://ftpmaster.internal/ubuntu xenial/main amd64 python-requestsexceptions all 1.1.2-0ubuntu1 [3580 B] Get:191 http://ftpmaster.internal/ubuntu xenial/main amd64 python-warlock all 1.1.0-1 [5098 B] Get:192 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-cffi-backend amd64 1.9.1-2build2~cloud0 [69.1 kB] Get:193 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-subunit all 1.1.0-3 [60.2 kB] Get:194 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-testrepository all 0.0.20-2 [58.6 kB] Get:195 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-linecache2 all 1.0.0-2 [12.3 kB] Get:196 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-traceback2 all 1.4.0-3 [16.0 kB] Get:197 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-unittest2 all 1.1.0-6.1 [69.2 kB] Get:198 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-cryptography amd64 1.9-1~cloud0 [212 kB] Get:199 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-mimeparse all 0.1.4-1build1 [5966 B] Get:200 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-testtools all 1.8.1-0ubuntu1 [111 kB] Get:201 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-subunit all 1.1.0-3 [60.0 kB] Get:202 http://ftpmaster.internal/ubuntu xenial/universe amd64 subunit all 1.1.0-3 [18.0 kB] Get:203 http://ftpmaster.internal/ubuntu xenial/main amd64 python-psutil amd64 3.4.2-1 [55.2 kB] Get:204 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-testscenarios all 0.4-4 [13.0 kB] Get:205 http://ftpmaster.internal/ubuntu xenial/main amd64 python3-testrepository all 0.0.20-2 [58.3 kB] Get:206 http://ftpmaster.internal/ubuntu xenial/universe amd64 testrepository all 0.0.20-2 [12.1 kB] Get:207 http://ftpmaster.internal/ubuntu xenial/main amd64 python-pyasn1 all 0.1.9-1 [45.1 kB] Get:208 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-positional all 1.1.1-3~cloud0 [6190 B] Get:209 http://ftpmaster.internal/ubuntu xenial/main amd64 python-simplegeneric all 0.8.1-1 [11.5 kB] Get:210 http://ftpmaster.internal/ubuntu xenial/main amd64 python-singledispatch all 3.4.0.3-2 [9848 B] Get:211 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-stevedore all 1:1.25.0-0ubuntu1~cloud0 [20.2 kB] Get:212 http://ftpmaster.internal/ubuntu xenial/main amd64 python-waitress all 0.8.10-1 [54.1 kB] Get:213 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-keystoneauth1 all 3.1.0-0ubuntu2~cloud0 [138 kB] Get:214 http://ftpmaster.internal/ubuntu xenial/main amd64 python-webtest all 2.0.18-1ubuntu1 [27.3 kB] Get:215 http://ftpmaster.internal/ubuntu xenial/main amd64 python-psycopg2 amd64 2.6.1-1build2 [131 kB] Get:216 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.i18n all 3.17.0-0ubuntu1~cloud0 [22.0 kB] Get:217 http://ftpmaster.internal/ubuntu xenial/main amd64 python-pymemcache all 1.3.2-2ubuntu1 [23.1 kB] Get:218 http://ftpmaster.internal/ubuntu xenial/main amd64 python-redis all 2.10.5-1ubuntu1 [43.9 kB] Get:219 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.utils all 3.28.0-0ubuntu1~cloud0 [57.6 kB] Get:220 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-sendfile amd64 2.0.1-1build1 [8340 B] Get:221 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-sphinxcontrib-pecanwsme all 0.8.0-3 [6670 B] Get:222 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.serialization all 2.20.0-0ubuntu1~cloud0 [15.3 kB] Get:223 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-cinderclient all 1:3.1.0-0ubuntu1~cloud0 [142 kB] Get:224 http://ftpmaster.internal/ubuntu xenial/universe amd64 python-testresources all 1.0.0-1 [26.0 kB] Get:225 http://ftpmaster.internal/ubuntu xenial/main amd64 python-wsme all 0.8.0-2ubuntu2 [61.0 kB] Get:226 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-yaml amd64 3.12-1build2~cloud0 [109 kB] Get:227 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-cliff all 2.8.0-0ubuntu1~cloud0 [37.9 kB] Get:228 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-coverage amd64 4.3.4+dfsg.1-1build1~cloud0 [133 kB] Get:229 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-deprecation all 1.0.1-0ubuntu1~cloud0 [7156 B] Get:230 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-dnspython all 1.15.0-1~cloud0 [85.9 kB] Get:231 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-dogpile.cache all 0.6.2-5~cloud0 [33.4 kB] Get:232 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-fixtures all 3.0.0-2~cloud0 [32.4 kB] Get:233 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-mccabe all 0.6.1-2~cloud0 [9678 B] Get:234 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-setuptools all 36.2.7-2~cloud0 [303 kB] Get:235 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-pycodestyle all 2.3.1-2~cloud0 [32.9 kB] Get:236 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-flake8 all 3.2.1-1~cloud0 [56.4 kB] Get:237 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-hacking all 0.12.0-0ubuntu1~cloud0 [19.3 kB] Get:238 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-rfc3986 all 0.3.1-2~cloud0 [14.2 kB] Get:239 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.config all 1:4.11.0-0ubuntu1~cloud0 [99.9 kB] Get:240 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.concurrency all 3.21.0-0ubuntu2~cloud0 [28.2 kB] Get:241 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.context all 1:2.17.0-0ubuntu1~cloud0 [13.0 kB] Get:242 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.log all 3.30.0-0ubuntu1~cloud0 [40.3 kB] Get:243 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-routes all 2.4.1-1~cloud0 [98.6 kB] Get:244 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-webob all 1:1.7.2-0ubuntu1~ubuntu16.04.1~ppa201704191338 [68.5 kB] Get:245 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.service all 1.25.0-0ubuntu1~cloud0 [48.2 kB] Get:246 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-ironic-lib all 2.9.0-0ubuntu1~cloud0 [33.8 kB] Get:247 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-mock all 2.0.0-3~cloud0 [48.3 kB] Get:248 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-keystoneclient all 1:3.13.0-0ubuntu1~cloud0 [197 kB] Get:249 http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial/main amd64 python-vine all 1.1.3+dfsg-2 [14.9 kB] Get:250 http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial/main amd64 python-amqp all 2.1.4-1 [37.3 kB] Get:251 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-kombu all 4.0.2+really4.0.2+dfsg-2ubuntu1~cloud0 [126 kB] Get:252 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-statsd all 3.2.1-2~cloud0 [10.5 kB] Get:253 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.middleware all 3.30.0-0ubuntu1.1~cloud0 [32.9 kB] Get:254 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-tenacity all 3.3.0-0ubuntu1~cloud0 [12.2 kB] Get:255 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.messaging all 5.30.0-0ubuntu1~cloud0 [286 kB] Get:256 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-pycadf all 2.6.0-0ubuntu1~cloud0 [19.0 kB] Get:257 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-keystonemiddleware all 4.17.0-0ubuntu1~cloud0 [73.8 kB] Get:258 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-migrate all 0.11.0-0ubuntu1~cloud0 [79.4 kB] Get:259 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-os-client-config all 1.28.0-0ubuntu1~cloud0 [33.9 kB] Get:260 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-osc-lib all 1.7.0-0ubuntu1~cloud0 [45.4 kB] Get:261 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-neutronclient all 1:6.5.0-0ubuntu1.1~cloud0 [161 kB] Get:262 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-novaclient all 2:9.1.0-0ubuntu1~cloud0 [240 kB] Get:263 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-openssl all 16.2.0-1~cloud0 [43.8 kB] Get:264 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-glanceclient all 1:2.8.0-0ubuntu1~cloud0 [129 kB] Get:265 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-openstacksdk all 0.9.17-0ubuntu1~cloud0 [206 kB] Get:266 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-openstackclient all 3.12.0-0ubuntu2~cloud0 [347 kB] Get:267 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-openstackdocstheme all 1.16.1-0ubuntu1~cloud0 [860 kB] Get:268 http://ppa.launchpad.net/openstack-ubuntu-testing/pike-staging/ubuntu xenial/main amd64 python3-pbr all 2.0.0-0ubuntu1 [37.2 kB] Get:269 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-os-testr all 0.8.0-0ubuntu1~cloud0 [27.4 kB] Get:270 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.db all 4.25.0-0ubuntu1~cloud0 [111 kB] Get:271 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.policy all 1.25.1-0ubuntu1~cloud0 [43.3 kB] Get:272 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.reports all 1.22.0-0ubuntu1~cloud0 [26.0 kB] Get:273 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.rootwrap all 5.9.0-0ubuntu1~cloud0 [23.5 kB] Get:274 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslo.versionedobjects all 1.26.0-0ubuntu1~cloud0 [57.8 kB] Get:275 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslosphinx-common all 4.15.1-0ubuntu1~cloud0 [29.9 kB] Get:276 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslosphinx all 4.15.1-0ubuntu1~cloud0 [34.3 kB] Get:277 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python3-fixtures all 3.0.0-2~cloud0 [32.5 kB] Get:278 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-oslotest all 1:2.17.0-0ubuntu1~cloud0 [16.9 kB] Get:279 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-ceilometerclient all 2.9.0-0ubuntu1~cloud0 [65.6 kB] Get:280 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-osprofiler all 1.11.0-0ubuntu1~cloud0 [44.1 kB] Get:281 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-paramiko all 2.0.0-1~cloud0 [111 kB] Get:282 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-pecan all 1.1.2-3fakesync2~cloud0 [105 kB] Get:283 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-pymysql all 0.7.11-1~cloud0 [59.1 kB] Get:284 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-voluptuous all 0.9.3-1~cloud0 [29.1 kB] Get:285 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-tooz all 1.58.0-0ubuntu1~cloud0 [47.6 kB] Get:286 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 dh-systemd all 10.2.2ubuntu1~cloud3 [100 kB] Get:287 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 openstack-pkg-tools all 54ubuntu3~cloud1 [54.0 kB] Get:288 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-ironicclient all 1.16.0-0ubuntu2~cloud0 [130 kB] Get:289 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-os-api-ref-common all 1.2.0-0ubuntu1~cloud0 [53.7 kB] Get:290 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-os-api-ref all 1.2.0-0ubuntu1~cloud0 [68.4 kB] Get:291 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu xenial/main amd64 python-swiftclient all 1:3.4.0-0ubuntu1~cloud0 [61.2 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 47.7 MB in 5s (9430 kB/s) Selecting previously unselected package libpython3.5-minimal:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 12171 files and directories currently installed.) Preparing to unpack .../libpython3.5-minimal_3.5.2-2ubuntu0~16.04.3_amd64.deb ... Unpacking libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.3) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.1.0-7ubuntu0.16.04.3_amd64.deb ... Unpacking libexpat1:amd64 (2.1.0-7ubuntu0.16.04.3) ... Selecting previously unselected package python3.5-minimal. Preparing to unpack .../python3.5-minimal_3.5.2-2ubuntu0~16.04.3_amd64.deb ... Unpacking python3.5-minimal (3.5.2-2ubuntu0~16.04.3) ... Selecting previously unselected package python3-minimal. Preparing to unpack .../python3-minimal_3.5.1-3_amd64.deb ... Unpacking python3-minimal (3.5.1-3) ... Selecting previously unselected package mime-support. Preparing to unpack .../mime-support_3.59ubuntu1_all.deb ... Unpacking mime-support (3.59ubuntu1) ... Selecting previously unselected package libmpdec2:amd64. Preparing to unpack .../libmpdec2_2.4.2-1_amd64.deb ... Unpacking libmpdec2:amd64 (2.4.2-1) ... Selecting previously unselected package libpython3.5-stdlib:amd64. Preparing to unpack .../libpython3.5-stdlib_3.5.2-2ubuntu0~16.04.3_amd64.deb ... Unpacking libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.3) ... Selecting previously unselected package python3.5. Preparing to unpack .../python3.5_3.5.2-2ubuntu0~16.04.3_amd64.deb ... Unpacking python3.5 (3.5.2-2ubuntu0~16.04.3) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../libpython3-stdlib_3.5.1-3_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.5.1-3) ... Selecting previously unselected package dh-python. Preparing to unpack .../dh-python_2.20170125~cloud0_all.deb ... Unpacking dh-python (2.20170125~cloud0) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up libpython3.5-minimal:amd64 (3.5.2-2ubuntu0~16.04.3) ... Setting up libexpat1:amd64 (2.1.0-7ubuntu0.16.04.3) ... Setting up python3.5-minimal (3.5.2-2ubuntu0~16.04.3) ... Setting up python3-minimal (3.5.1-3) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 13122 files and directories currently installed.) Preparing to unpack .../python3_3.5.1-3_amd64.deb ... Unpacking python3 (3.5.1-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../groff-base_1.22.3-7_amd64.deb ... Unpacking groff-base (1.22.3-7) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../bsdmainutils_9.0.6ubuntu3_amd64.deb ... Unpacking bsdmainutils (9.0.6ubuntu3) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../libpipeline1_1.4.1-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.4.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../man-db_2.7.5-1_amd64.deb ... Unpacking man-db (2.7.5-1) ... Selecting previously unselected package sgml-base. Preparing to unpack .../sgml-base_1.26+nmu4ubuntu1_all.deb ... Unpacking sgml-base (1.26+nmu4ubuntu1) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../libsigsegv2_2.10-4_amd64.deb ... Unpacking libsigsegv2:amd64 (2.10-4) ... Selecting previously unselected package libunistring0:amd64. Preparing to unpack .../libunistring0_0.9.3-5.2ubuntu1_amd64.deb ... Unpacking libunistring0:amd64 (0.9.3-5.2ubuntu1) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../libyaml-0-2_0.1.6-3_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.1.6-3) ... Selecting previously unselected package libpython2.7-minimal:amd64. Preparing to unpack .../libpython2.7-minimal_2.7.12-1ubuntu0~16.04.1_amd64.deb ... Unpacking libpython2.7-minimal:amd64 (2.7.12-1ubuntu0~16.04.1) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../python2.7-minimal_2.7.12-1ubuntu0~16.04.1_amd64.deb ... Unpacking python2.7-minimal (2.7.12-1ubuntu0~16.04.1) ... Selecting previously unselected package python-minimal. Preparing to unpack .../python-minimal_2.7.11-1_amd64.deb ... Unpacking python-minimal (2.7.11-1) ... Selecting previously unselected package libpython2.7-stdlib:amd64. Preparing to unpack .../libpython2.7-stdlib_2.7.12-1ubuntu0~16.04.1_amd64.deb ... Unpacking libpython2.7-stdlib:amd64 (2.7.12-1ubuntu0~16.04.1) ... Selecting previously unselected package python2.7. Preparing to unpack .../python2.7_2.7.12-1ubuntu0~16.04.1_amd64.deb ... Unpacking python2.7 (2.7.12-1ubuntu0~16.04.1) ... Selecting previously unselected package libpython-stdlib:amd64. Preparing to unpack .../libpython-stdlib_2.7.11-1_amd64.deb ... Unpacking libpython-stdlib:amd64 (2.7.11-1) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up libpython2.7-minimal:amd64 (2.7.12-1ubuntu0~16.04.1) ... Setting up python2.7-minimal (2.7.12-1ubuntu0~16.04.1) ... Setting up python-minimal (2.7.11-1) ... Selecting previously unselected package python. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 14421 files and directories currently installed.) Preparing to unpack .../python_2.7.11-1_amd64.deb ... Unpacking python (2.7.11-1) ... Selecting previously unselected package python-pyparsing. Preparing to unpack .../python-pyparsing_2.1.10+dfsg1-1~cloud0_all.deb ... Unpacking python-pyparsing (2.1.10+dfsg1-1~cloud0) ... Selecting previously unselected package python-cmd2. Preparing to unpack .../python-cmd2_0.6.8-1_all.deb ... Unpacking python-cmd2 (0.6.8-1) ... Selecting previously unselected package python-extras. Preparing to unpack .../python-extras_0.0.3-3_all.deb ... Unpacking python-extras (0.0.3-3) ... Selecting previously unselected package python-posix-ipc. Preparing to unpack .../python-posix-ipc_0.9.8-2build2_amd64.deb ... Unpacking python-posix-ipc (0.9.8-2build2) ... Selecting previously unselected package python-alabaster. Preparing to unpack .../python-alabaster_0.7.7-1_all.deb ... Unpacking python-alabaster (0.7.7-1) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../python-babel-localedata_2.4.0+dfsg.1-2ubuntu1~cloud0_all.deb ... Unpacking python-babel-localedata (2.4.0+dfsg.1-2ubuntu1~cloud0) ... Selecting previously unselected package python-pkg-resources. Preparing to unpack .../python-pkg-resources_36.2.7-2~cloud0_all.deb ... Unpacking python-pkg-resources (36.2.7-2~cloud0) ... Selecting previously unselected package python-tz. Preparing to unpack .../python-tz_2014.10~dfsg1-0ubuntu2_all.deb ... Unpacking python-tz (2014.10~dfsg1-0ubuntu2) ... Selecting previously unselected package python-babel. Preparing to unpack .../python-babel_2.4.0+dfsg.1-2ubuntu1~cloud0_all.deb ... Unpacking python-babel (2.4.0+dfsg.1-2ubuntu1~cloud0) ... Selecting previously unselected package python-roman. Preparing to unpack .../python-roman_2.0.0-2_all.deb ... Unpacking python-roman (2.0.0-2) ... Selecting previously unselected package xml-core. Preparing to unpack .../xml-core_0.13+nmu2_all.deb ... Unpacking xml-core (0.13+nmu2) ... Selecting previously unselected package docutils-common. Preparing to unpack .../docutils-common_0.12+dfsg-1_all.deb ... Unpacking docutils-common (0.12+dfsg-1) ... Selecting previously unselected package python-docutils. Preparing to unpack .../python-docutils_0.12+dfsg-1_all.deb ... Unpacking python-docutils (0.12+dfsg-1) ... Selecting previously unselected package python-imagesize. Preparing to unpack .../python-imagesize_0.7.1-1~ubuntu16.04.1~ppa201704181405_all.deb ... Unpacking python-imagesize (0.7.1-1~ubuntu16.04.1~ppa201704181405) ... Selecting previously unselected package python-markupsafe. Preparing to unpack .../python-markupsafe_0.23-2build2_amd64.deb ... Unpacking python-markupsafe (0.23-2build2) ... Selecting previously unselected package python-jinja2. Preparing to unpack .../python-jinja2_2.8-1_all.deb ... Unpacking python-jinja2 (2.8-1) ... Selecting previously unselected package python-pygments. Preparing to unpack .../python-pygments_2.2.0+dfsg-1~ubuntu16.04.1~ppa201704181404_all.deb ... Unpacking python-pygments (2.2.0+dfsg-1~ubuntu16.04.1~ppa201704181404) ... Selecting previously unselected package python-certifi. Preparing to unpack .../python-certifi_2015.11.20.1-2_all.deb ... Unpacking python-certifi (2015.11.20.1-2) ... Selecting previously unselected package python-chardet. Preparing to unpack .../python-chardet_3.0.4-1~cloud0_all.deb ... Unpacking python-chardet (3.0.4-1~cloud0) ... Selecting previously unselected package python-idna. Preparing to unpack .../python-idna_2.5-1~cloud0_all.deb ... Unpacking python-idna (2.5-1~cloud0) ... Selecting previously unselected package python-six. Preparing to unpack .../python-six_1.10.0-3_all.deb ... Unpacking python-six (1.10.0-3) ... Selecting previously unselected package python-urllib3. Preparing to unpack .../python-urllib3_1.21.1-1~cloud0_all.deb ... Unpacking python-urllib3 (1.21.1-1~cloud0) ... Selecting previously unselected package python-requests. Preparing to unpack .../python-requests_2.18.1-1~cloud0_all.deb ... Unpacking python-requests (2.18.1-1~cloud0) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../libjs-jquery_1.11.3+dfsg-4_all.deb ... Unpacking libjs-jquery (1.11.3+dfsg-4) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../libjs-underscore_1.7.0~dfsg-1ubuntu1_all.deb ... Unpacking libjs-underscore (1.7.0~dfsg-1ubuntu1) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../libjs-sphinxdoc_1.5.6-2~cloud0_all.deb ... Unpacking libjs-sphinxdoc (1.5.6-2~cloud0) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../sphinx-common_1.5.6-2~cloud0_all.deb ... Unpacking sphinx-common (1.5.6-2~cloud0) ... Selecting previously unselected package python-sphinx. Preparing to unpack .../python-sphinx_1.5.6-2~cloud0_all.deb ... Unpacking python-sphinx (1.5.6-2~cloud0) ... Selecting previously unselected package python-sphinxcontrib.httpdomain. Preparing to unpack .../python-sphinxcontrib.httpdomain_1.3.0-1_all.deb ... Unpacking python-sphinxcontrib.httpdomain (1.3.0-1) ... Selecting previously unselected package python-wrapt. Preparing to unpack .../python-wrapt_1.8.0-5build2_amd64.deb ... Unpacking python-wrapt (1.8.0-5build2) ... Selecting previously unselected package python-concurrent.futures. Preparing to unpack .../python-concurrent.futures_3.0.5-1_all.deb ... Unpacking python-concurrent.futures (3.0.5-1) ... Selecting previously unselected package python-kazoo. Preparing to unpack .../python-kazoo_2.2.1-1ubuntu1_all.deb ... Unpacking python-kazoo (2.2.1-1ubuntu1) ... Selecting previously unselected package python-zope.interface. Preparing to unpack .../python-zope.interface_4.1.3-1build1_amd64.deb ... Unpacking python-zope.interface (4.1.3-1build1) ... Selecting previously unselected package python-linecache2. Preparing to unpack .../python-linecache2_1.0.0-2_all.deb ... Unpacking python-linecache2 (1.0.0-2) ... Selecting previously unselected package python-traceback2. Preparing to unpack .../python-traceback2_1.4.0-3_all.deb ... Unpacking python-traceback2 (1.4.0-3) ... Selecting previously unselected package python-unittest2. Preparing to unpack .../python-unittest2_1.1.0-6.1_all.deb ... Unpacking python-unittest2 (1.1.0-6.1) ... Selecting previously unselected package python-mimeparse. Preparing to unpack .../python-mimeparse_0.1.4-1build1_all.deb ... Unpacking python-mimeparse (0.1.4-1build1) ... Selecting previously unselected package python-pbr. Preparing to unpack .../python-pbr_2.0.0-0ubuntu1_all.deb ... Unpacking python-pbr (2.0.0-0ubuntu1) ... Selecting previously unselected package python-testtools. Preparing to unpack .../python-testtools_1.8.1-0ubuntu1_all.deb ... Unpacking python-testtools (1.8.1-0ubuntu1) ... Selecting previously unselected package python-zake. Preparing to unpack .../python-zake_0.1.6-1_all.deb ... Unpacking python-zake (0.1.6-1) ... Selecting previously unselected package python3-extras. Preparing to unpack .../python3-extras_0.0.3-3_all.deb ... Unpacking python3-extras (0.0.3-3) ... Selecting previously unselected package libapt-inst2.0:amd64. Preparing to unpack .../libapt-inst2.0_1.2.25_amd64.deb ... Unpacking libapt-inst2.0:amd64 (1.2.25) ... Selecting previously unselected package apt-utils. Preparing to unpack .../apt-utils_1.2.25_amd64.deb ... Unpacking apt-utils (1.2.25) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../libmagic1_1%3a5.25-2ubuntu1_amd64.deb ... Unpacking libmagic1:amd64 (1:5.25-2ubuntu1) ... Selecting previously unselected package file. Preparing to unpack .../file_1%3a5.25-2ubuntu1_amd64.deb ... Unpacking file (1:5.25-2ubuntu1) ... Selecting previously unselected package netbase. Preparing to unpack .../archives/netbase_5.3_all.deb ... Unpacking netbase (5.3) ... Selecting previously unselected package sudo. Preparing to unpack .../sudo_1.8.16-0ubuntu1.5_amd64.deb ... Unpacking sudo (1.8.16-0ubuntu1.5) ... Selecting previously unselected package libasprintf0v5:amd64. Preparing to unpack .../libasprintf0v5_0.19.7-2ubuntu3_amd64.deb ... Unpacking libasprintf0v5:amd64 (0.19.7-2ubuntu3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../gettext-base_0.19.7-2ubuntu3_amd64.deb ... Unpacking gettext-base (0.19.7-2ubuntu3) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../libglib2.0-0_2.48.2-0ubuntu1_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.48.2-0ubuntu1) ... Selecting previously unselected package libicu55:amd64. Preparing to unpack .../libicu55_55.1-7ubuntu0.3_amd64.deb ... Unpacking libicu55:amd64 (55.1-7ubuntu0.3) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../libxml2_2.9.3+dfsg1-1ubuntu0.3_amd64.deb ... Unpacking libxml2:amd64 (2.9.3+dfsg1-1ubuntu0.3) ... Selecting previously unselected package python-mako. Preparing to unpack .../python-mako_1.0.3+ds1-1ubuntu1_all.deb ... Unpacking python-mako (1.0.3+ds1-1ubuntu1) ... Selecting previously unselected package python-sqlalchemy. Preparing to unpack .../python-sqlalchemy_1.1.9+ds1-0ubuntu3~cloud0_all.deb ... Unpacking python-sqlalchemy (1.1.9+ds1-0ubuntu3~cloud0) ... Selecting previously unselected package python-alembic. Preparing to unpack .../python-alembic_0.8.10-0ubuntu2~cloud0_all.deb ... Unpacking python-alembic (0.8.10-0ubuntu2~cloud0) ... Selecting previously unselected package alembic. Preparing to unpack .../alembic_0.8.10-0ubuntu2~cloud0_all.deb ... Unpacking alembic (0.8.10-0ubuntu2~cloud0) ... Selecting previously unselected package m4. Preparing to unpack .../archives/m4_1.4.17-5_amd64.deb ... Unpacking m4 (1.4.17-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../autoconf_2.69-9_all.deb ... Unpacking autoconf (2.69-9) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../autotools-dev_20150820.1_all.deb ... Unpacking autotools-dev (20150820.1) ... Selecting previously unselected package automake. Preparing to unpack .../automake_1%3a1.15-4ubuntu1_all.deb ... Unpacking automake (1:1.15-4ubuntu1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../python3-pkg-resources_36.2.7-2~cloud0_all.deb ... Unpacking python3-pkg-resources (36.2.7-2~cloud0) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../python3-chardet_3.0.4-1~cloud0_all.deb ... Unpacking python3-chardet (3.0.4-1~cloud0) ... Selecting previously unselected package python3-six. Preparing to unpack .../python3-six_1.10.0-3_all.deb ... Unpacking python3-six (1.10.0-3) ... Selecting previously unselected package python3-debian. Preparing to unpack .../python3-debian_0.1.27ubuntu2_all.deb ... Unpacking python3-debian (0.1.27ubuntu2) ... Selecting previously unselected package autopkgtest. Preparing to unpack .../autopkgtest_3.20.4ubuntu1_all.deb ... Unpacking autopkgtest (3.20.4ubuntu1) ... Selecting previously unselected package autopoint. Preparing to unpack .../autopoint_0.19.7-2ubuntu3_all.deb ... Unpacking autopoint (0.19.7-2ubuntu3) ... Selecting previously unselected package libtool. Preparing to unpack .../libtool_2.4.6-0.1_all.deb ... Unpacking libtool (2.4.6-0.1) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../dh-autoreconf_14~cloud0_all.deb ... Unpacking dh-autoreconf (14~cloud0) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../libarchive-zip-perl_1.56-2_all.deb ... Unpacking libarchive-zip-perl (1.56-2) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../libfile-stripnondeterminism-perl_0.015-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (0.015-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../libtimedate-perl_2.3000-2_all.deb ... Unpacking libtimedate-perl (2.3000-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../dh-strip-nondeterminism_0.015-1_all.deb ... Unpacking dh-strip-nondeterminism (0.015-1) ... Selecting previously unselected package libcroco3:amd64. Preparing to unpack .../libcroco3_0.6.11-1_amd64.deb ... Unpacking libcroco3:amd64 (0.6.11-1) ... Selecting previously unselected package gettext. Preparing to unpack .../gettext_0.19.7-2ubuntu3_amd64.deb ... Unpacking gettext (0.19.7-2ubuntu3) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../intltool-debian_0.35.0+20060710.4_all.deb ... Unpacking intltool-debian (0.35.0+20060710.4) ... Selecting previously unselected package po-debconf. Preparing to unpack .../po-debconf_1.0.19_all.deb ... Unpacking po-debconf (1.0.19) ... Selecting previously unselected package debhelper. Preparing to unpack .../debhelper_10.2.2ubuntu1~cloud3_all.deb ... Unpacking debhelper (10.2.2ubuntu1~cloud3) ... Selecting previously unselected package formencode-i18n. Preparing to unpack .../formencode-i18n_1.3.0-0ubuntu5_all.deb ... Unpacking formencode-i18n (1.3.0-0ubuntu5) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../libencode-locale-perl_1.05-1_all.deb ... Unpacking libencode-locale-perl (1.05-1) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../libhttp-date-perl_6.02-1_all.deb ... Unpacking libhttp-date-perl (6.02-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../libfile-listing-perl_6.04-1_all.deb ... Unpacking libfile-listing-perl (6.04-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../libhtml-tagset-perl_3.20-2_all.deb ... Unpacking libhtml-tagset-perl (3.20-2) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../liburi-perl_1.71-1_all.deb ... Unpacking liburi-perl (1.71-1) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../libhtml-parser-perl_3.72-1_amd64.deb ... Unpacking libhtml-parser-perl (3.72-1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../libhtml-tree-perl_5.03-2_all.deb ... Unpacking libhtml-tree-perl (5.03-2) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../libio-html-perl_1.001-1_all.deb ... Unpacking libio-html-perl (1.001-1) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../liblwp-mediatypes-perl_6.02-1_all.deb ... Unpacking liblwp-mediatypes-perl (6.02-1) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../libhttp-message-perl_6.11-1_all.deb ... Unpacking libhttp-message-perl (6.11-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../libhttp-cookies-perl_6.01-1_all.deb ... Unpacking libhttp-cookies-perl (6.01-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../libhttp-negotiate-perl_6.00-2_all.deb ... Unpacking libhttp-negotiate-perl (6.00-2) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../libnet-ssleay-perl_1.72-1build1_amd64.deb ... Unpacking libnet-ssleay-perl (1.72-1build1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../libio-socket-ssl-perl_2.024-1_all.deb ... Unpacking libio-socket-ssl-perl (2.024-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../libnet-http-perl_6.09-1_all.deb ... Unpacking libnet-http-perl (6.09-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../liblwp-protocol-https-perl_6.06-2_all.deb ... Unpacking liblwp-protocol-https-perl (6.06-2) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../libwww-robotrules-perl_6.01-1_all.deb ... Unpacking libwww-robotrules-perl (6.01-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../libwww-perl_6.15-1_all.deb ... Unpacking libwww-perl (6.15-1) ... Selecting previously unselected package ieee-data. Preparing to unpack .../ieee-data_20150531.1_all.deb ... Unpacking ieee-data (20150531.1) ... Selecting previously unselected package libjs-bootstrap. Preparing to unpack .../libjs-bootstrap_3.3.6+dfsg-1_all.deb ... Unpacking libjs-bootstrap (3.3.6+dfsg-1) ... Selecting previously unselected package libpq5:amd64. Preparing to unpack .../libpq5_9.5.9-0ubuntu0.16.04_amd64.deb ... Unpacking libpq5:amd64 (9.5.9-0ubuntu0.16.04) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../libsubunit-perl_1.1.0-3_all.deb ... Unpacking libsubunit-perl (1.1.0-3) ... Selecting previously unselected package libxdelta2. Preparing to unpack .../libxdelta2_1.1.3-9.1ubuntu1_amd64.deb ... Unpacking libxdelta2 (1.1.3-9.1ubuntu1) ... Selecting previously unselected package libxml-parser-perl. Preparing to unpack .../libxml-parser-perl_2.44-1build1_amd64.deb ... Unpacking libxml-parser-perl (2.44-1build1) ... Selecting previously unselected package libxml-xpath-perl. Preparing to unpack .../libxml-xpath-perl_1.30-1_all.deb ... Unpacking libxml-xpath-perl (1.30-1) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../libxslt1.1_1.1.28-2.1ubuntu0.1_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.28-2.1ubuntu0.1) ... Selecting previously unselected package madison-lite. Preparing to unpack .../madison-lite_0.21_all.deb ... Unpacking madison-lite (0.21) ... Selecting previously unselected package xdelta. Preparing to unpack .../xdelta_1.1.3-9.1ubuntu1_amd64.deb ... Unpacking xdelta (1.1.3-9.1ubuntu1) ... Selecting previously unselected package pristine-tar. Preparing to unpack .../pristine-tar_1.33_amd64.deb ... Unpacking pristine-tar (1.33) ... Selecting previously unselected package pycadf-common. Preparing to unpack .../pycadf-common_2.6.0-0ubuntu1~cloud0_all.deb ... Unpacking pycadf-common (2.6.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-pyflakes. Preparing to unpack .../python-pyflakes_1.1.0-2_all.deb ... Unpacking python-pyflakes (1.1.0-2) ... Selecting previously unselected package pyflakes. Preparing to unpack .../pyflakes_1.1.0-2_all.deb ... Unpacking pyflakes (1.1.0-2) ... Selecting previously unselected package python-all. Preparing to unpack .../python-all_2.7.11-1_amd64.deb ... Unpacking python-all (2.7.11-1) ... Selecting previously unselected package python-anyjson. Preparing to unpack .../python-anyjson_0.3.3-1build1_all.deb ... Unpacking python-anyjson (0.3.3-1build1) ... Selecting previously unselected package python-appdirs. Preparing to unpack .../python-appdirs_1.4.0-2_all.deb ... Unpacking python-appdirs (1.4.0-2) ... Selecting previously unselected package python-asn1crypto. Preparing to unpack .../python-asn1crypto_0.22.0-1~cloud0_all.deb ... Unpacking python-asn1crypto (0.22.0-1~cloud0) ... Selecting previously unselected package python-funcsigs. Preparing to unpack .../python-funcsigs_1.0.2-3~cloud0_all.deb ... Unpacking python-funcsigs (1.0.2-3~cloud0) ... Selecting previously unselected package python-debtcollector. Preparing to unpack .../python-debtcollector_1.3.0-2_all.deb ... Unpacking python-debtcollector (1.3.0-2) ... Selecting previously unselected package python-prettytable. Preparing to unpack .../python-prettytable_0.7.2-3_all.deb ... Unpacking python-prettytable (0.7.2-3) ... Selecting previously unselected package python-automaton. Preparing to unpack .../python-automaton_1.2.0-1_all.deb ... Unpacking python-automaton (1.2.0-1) ... Selecting previously unselected package python-bashate. Preparing to unpack .../python-bashate_0.3.1-2_all.deb ... Unpacking python-bashate (0.3.1-2) ... Selecting previously unselected package python-blinker. Preparing to unpack .../python-blinker_1.3.dfsg2-1build1_all.deb ... Unpacking python-blinker (1.3.dfsg2-1build1) ... Selecting previously unselected package python-bs4. Preparing to unpack .../python-bs4_4.4.1-1_all.deb ... Unpacking python-bs4 (4.4.1-1) ... Selecting previously unselected package python-cachetools. Preparing to unpack .../python-cachetools_1.1.6-1~cloud0_all.deb ... Unpacking python-cachetools (1.1.6-1~cloud0) ... Selecting previously unselected package python-cffi-backend. Preparing to unpack .../python-cffi-backend_1.9.1-2build2~cloud0_amd64.deb ... Unpacking python-cffi-backend (1.9.1-2build2~cloud0) ... Selecting previously unselected package python-iso8601. Preparing to unpack .../python-iso8601_0.1.11-1_all.deb ... Unpacking python-iso8601 (0.1.11-1) ... Selecting previously unselected package python-lxml. Preparing to unpack .../python-lxml_3.5.0-1build1_amd64.deb ... Unpacking python-lxml (3.5.0-1build1) ... Selecting previously unselected package python-enum34. Preparing to unpack .../python-enum34_1.1.2-1_all.deb ... Unpacking python-enum34 (1.1.2-1) ... Selecting previously unselected package python-ipaddress. Preparing to unpack .../python-ipaddress_1.0.16-1_all.deb ... Unpacking python-ipaddress (1.0.16-1) ... Selecting previously unselected package python-cryptography. Preparing to unpack .../python-cryptography_1.9-1~cloud0_amd64.deb ... Unpacking python-cryptography (1.9-1~cloud0) ... Selecting previously unselected package python-jwt. Preparing to unpack .../python-jwt_1.3.0-1ubuntu0.1_all.deb ... Unpacking python-jwt (1.3.0-1ubuntu0.1) ... Selecting previously unselected package python-oauthlib. Preparing to unpack .../python-oauthlib_1.0.3-1_all.deb ... Unpacking python-oauthlib (1.0.3-1) ... Selecting previously unselected package python-positional. Preparing to unpack .../python-positional_1.1.1-3~cloud0_all.deb ... Unpacking python-positional (1.1.1-3~cloud0) ... Selecting previously unselected package python-stevedore. Preparing to unpack .../python-stevedore_1%3a1.25.0-0ubuntu1~cloud0_all.deb ... Unpacking python-stevedore (1:1.25.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-keystoneauth1. Preparing to unpack .../python-keystoneauth1_3.1.0-0ubuntu2~cloud0_all.deb ... Unpacking python-keystoneauth1 (3.1.0-0ubuntu2~cloud0) ... Selecting previously unselected package python-oslo.i18n. Preparing to unpack .../python-oslo.i18n_3.17.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.i18n (3.17.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-msgpack. Preparing to unpack .../python-msgpack_0.4.6-1build1_amd64.deb ... Unpacking python-msgpack (0.4.6-1build1) ... Selecting previously unselected package python-monotonic. Preparing to unpack .../python-monotonic_0.6-2_all.deb ... Unpacking python-monotonic (0.6-2) ... Selecting previously unselected package python-netaddr. Preparing to unpack .../python-netaddr_0.7.18-1_all.deb ... Unpacking python-netaddr (0.7.18-1) ... Selecting previously unselected package python-netifaces. Preparing to unpack .../python-netifaces_0.10.4-0.1build2_amd64.deb ... Unpacking python-netifaces (0.10.4-0.1build2) ... Selecting previously unselected package python-oslo.utils. Preparing to unpack .../python-oslo.utils_3.28.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.utils (3.28.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslo.serialization. Preparing to unpack .../python-oslo.serialization_2.20.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.serialization (2.20.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-simplejson. Preparing to unpack .../python-simplejson_3.8.1-1ubuntu2_amd64.deb ... Unpacking python-simplejson (3.8.1-1ubuntu2) ... Selecting previously unselected package python-cinderclient. Preparing to unpack .../python-cinderclient_1%3a3.1.0-0ubuntu1~cloud0_all.deb ... Unpacking python-cinderclient (1:3.1.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-unicodecsv. Preparing to unpack .../python-unicodecsv_0.14.1-1_all.deb ... Unpacking python-unicodecsv (0.14.1-1) ... Selecting previously unselected package python-yaml. Preparing to unpack .../python-yaml_3.12-1build2~cloud0_amd64.deb ... Unpacking python-yaml (3.12-1build2~cloud0) ... Selecting previously unselected package python-cliff. Preparing to unpack .../python-cliff_2.8.0-0ubuntu1~cloud0_all.deb ... Unpacking python-cliff (2.8.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-configparser. Preparing to unpack .../python-configparser_3.3.0r2-2_all.deb ... Unpacking python-configparser (3.3.0r2-2) ... Selecting previously unselected package python-contextlib2. Preparing to unpack .../python-contextlib2_0.5.1-1_all.deb ... Unpacking python-contextlib2 (0.5.1-1) ... Selecting previously unselected package python-coverage. Preparing to unpack .../python-coverage_4.3.4+dfsg.1-1build1~cloud0_amd64.deb ... Unpacking python-coverage (4.3.4+dfsg.1-1build1~cloud0) ... Selecting previously unselected package python-crypto. Preparing to unpack .../python-crypto_2.6.1-6ubuntu0.16.04.2_amd64.deb ... Unpacking python-crypto (2.6.1-6ubuntu0.16.04.2) ... Selecting previously unselected package python-dateutil. Preparing to unpack .../python-dateutil_2.4.2-1_all.deb ... Unpacking python-dateutil (2.4.2-1) ... Selecting previously unselected package python-decorator. Preparing to unpack .../python-decorator_4.0.6-1_all.deb ... Unpacking python-decorator (4.0.6-1) ... Selecting previously unselected package python-deprecation. Preparing to unpack .../python-deprecation_1.0.1-0ubuntu1~cloud0_all.deb ... Unpacking python-deprecation (1.0.1-0ubuntu1~cloud0) ... Selecting previously unselected package python-dnspython. Preparing to unpack .../python-dnspython_1.15.0-1~cloud0_all.deb ... Unpacking python-dnspython (1.15.0-1~cloud0) ... Selecting previously unselected package python-dogpile.cache. Preparing to unpack .../python-dogpile.cache_0.6.2-5~cloud0_all.deb ... Unpacking python-dogpile.cache (0.6.2-5~cloud0) ... Selecting previously unselected package python-greenlet. Preparing to unpack .../python-greenlet_0.4.9-2fakesync1_amd64.deb ... Unpacking python-greenlet (0.4.9-2fakesync1) ... Selecting previously unselected package python-eventlet. Preparing to unpack .../python-eventlet_0.18.4-1ubuntu1_all.deb ... Unpacking python-eventlet (0.18.4-1ubuntu1) ... Selecting previously unselected package python-fasteners. Preparing to unpack .../python-fasteners_0.12.0-2ubuntu1_all.deb ... Unpacking python-fasteners (0.12.0-2ubuntu1) ... Selecting previously unselected package python-fixtures. Preparing to unpack .../python-fixtures_3.0.0-2~cloud0_all.deb ... Unpacking python-fixtures (3.0.0-2~cloud0) ... Selecting previously unselected package python-mccabe. Preparing to unpack .../python-mccabe_0.6.1-2~cloud0_all.deb ... Unpacking python-mccabe (0.6.1-2~cloud0) ... Selecting previously unselected package python-setuptools. Preparing to unpack .../python-setuptools_36.2.7-2~cloud0_all.deb ... Unpacking python-setuptools (36.2.7-2~cloud0) ... Selecting previously unselected package python-pycodestyle. Preparing to unpack .../python-pycodestyle_2.3.1-2~cloud0_all.deb ... Unpacking python-pycodestyle (2.3.1-2~cloud0) ... Selecting previously unselected package python-flake8. Preparing to unpack .../python-flake8_3.2.1-1~cloud0_all.deb ... Unpacking python-flake8 (3.2.1-1~cloud0) ... Selecting previously unselected package python-formencode. Preparing to unpack .../python-formencode_1.3.0-0ubuntu5_all.deb ... Unpacking python-formencode (1.3.0-0ubuntu5) ... Selecting previously unselected package python-functools32. Preparing to unpack .../python-functools32_3.2.3.2-2_all.deb ... Unpacking python-functools32 (3.2.3.2-2) ... Selecting previously unselected package python-futurist. Preparing to unpack .../python-futurist_0.13.0-2_all.deb ... Unpacking python-futurist (0.13.0-2) ... Selecting previously unselected package python-hacking. Preparing to unpack .../python-hacking_0.12.0-0ubuntu1~cloud0_all.deb ... Unpacking python-hacking (0.12.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-ipaddr. Preparing to unpack .../python-ipaddr_2.1.11-2_all.deb ... Unpacking python-ipaddr (2.1.11-2) ... Selecting previously unselected package python-rfc3986. Preparing to unpack .../python-rfc3986_0.3.1-2~cloud0_all.deb ... Unpacking python-rfc3986 (0.3.1-2~cloud0) ... Selecting previously unselected package python-oslo.config. Preparing to unpack .../python-oslo.config_1%3a4.11.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.config (1:4.11.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslo.concurrency. Preparing to unpack .../python-oslo.concurrency_3.21.0-0ubuntu2~cloud0_all.deb ... Unpacking python-oslo.concurrency (3.21.0-0ubuntu2~cloud0) ... Selecting previously unselected package python-oslo.context. Preparing to unpack .../python-oslo.context_1%3a2.17.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.context (1:2.17.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-pyinotify. Preparing to unpack .../python-pyinotify_0.9.6-0fakesync1_all.deb ... Unpacking python-pyinotify (0.9.6-0fakesync1) ... Selecting previously unselected package python-oslo.log. Preparing to unpack .../python-oslo.log_3.30.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.log (3.30.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-tempita. Preparing to unpack .../python-tempita_0.5.2-1build1_all.deb ... Unpacking python-tempita (0.5.2-1build1) ... Selecting previously unselected package python-paste. Preparing to unpack .../python-paste_1.7.5.1-6ubuntu3_all.deb ... Unpacking python-paste (1.7.5.1-6ubuntu3) ... Selecting previously unselected package python-pastedeploy-tpl. Preparing to unpack .../python-pastedeploy-tpl_1.5.2-1_all.deb ... Unpacking python-pastedeploy-tpl (1.5.2-1) ... Selecting previously unselected package python-pastedeploy. Preparing to unpack .../python-pastedeploy_1.5.2-1_all.deb ... Unpacking python-pastedeploy (1.5.2-1) ... Selecting previously unselected package python-repoze.lru. Preparing to unpack .../python-repoze.lru_0.6-6_all.deb ... Unpacking python-repoze.lru (0.6-6) ... Selecting previously unselected package python-routes. Preparing to unpack .../python-routes_2.4.1-1~cloud0_all.deb ... Unpacking python-routes (2.4.1-1~cloud0) ... Selecting previously unselected package python-webob. Preparing to unpack .../python-webob_1%3a1.7.2-0ubuntu1~ubuntu16.04.1~ppa201704191338_all.deb ... Unpacking python-webob (1:1.7.2-0ubuntu1~ubuntu16.04.1~ppa201704191338) ... Selecting previously unselected package python-oslo.service. Preparing to unpack .../python-oslo.service_1.25.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.service (1.25.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-ironic-lib. Preparing to unpack .../python-ironic-lib_2.9.0-0ubuntu1~cloud0_all.deb ... Unpacking python-ironic-lib (2.9.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-json-pointer. Preparing to unpack .../python-json-pointer_1.9-3_all.deb ... Unpacking python-json-pointer (1.9-3) ... Selecting previously unselected package python-jsonpatch. Preparing to unpack .../python-jsonpatch_1.19-3_all.deb ... Unpacking python-jsonpatch (1.19-3) ... Selecting previously unselected package python-mock. Preparing to unpack .../python-mock_2.0.0-3~cloud0_all.deb ... Unpacking python-mock (2.0.0-3~cloud0) ... Selecting previously unselected package python-jsonschema. Preparing to unpack .../python-jsonschema_2.5.1-4_all.deb ... Unpacking python-jsonschema (2.5.1-4) ... Selecting previously unselected package python-keyring. Preparing to unpack .../python-keyring_7.3-1ubuntu1_all.deb ... Unpacking python-keyring (7.3-1ubuntu1) ... Selecting previously unselected package python-keystoneclient. Preparing to unpack .../python-keystoneclient_1%3a3.13.0-0ubuntu1~cloud0_all.deb ... Unpacking python-keystoneclient (1:3.13.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-vine. Preparing to unpack .../python-vine_1.1.3+dfsg-2_all.deb ... Unpacking python-vine (1.1.3+dfsg-2) ... Selecting previously unselected package python-amqp. Preparing to unpack .../python-amqp_2.1.4-1_all.deb ... Unpacking python-amqp (2.1.4-1) ... Selecting previously unselected package python-kombu. Preparing to unpack .../python-kombu_4.0.2+really4.0.2+dfsg-2ubuntu1~cloud0_all.deb ... Unpacking python-kombu (4.0.2+really4.0.2+dfsg-2ubuntu1~cloud0) ... Selecting previously unselected package python-statsd. Preparing to unpack .../python-statsd_3.2.1-2~cloud0_all.deb ... Unpacking python-statsd (3.2.1-2~cloud0) ... Selecting previously unselected package python-oslo.middleware. Preparing to unpack .../python-oslo.middleware_3.30.0-0ubuntu1.1~cloud0_all.deb ... Unpacking python-oslo.middleware (3.30.0-0ubuntu1.1~cloud0) ... Selecting previously unselected package python-pika. Preparing to unpack .../python-pika_0.10.0-1_all.deb ... Unpacking python-pika (0.10.0-1) ... Selecting previously unselected package python-pika-pool. Preparing to unpack .../python-pika-pool_0.1.3-1ubuntu1_all.deb ... Unpacking python-pika-pool (0.1.3-1ubuntu1) ... Selecting previously unselected package python-retrying. Preparing to unpack .../python-retrying_1.3.3-1_all.deb ... Unpacking python-retrying (1.3.3-1) ... Selecting previously unselected package python-tenacity. Preparing to unpack .../python-tenacity_3.3.0-0ubuntu1~cloud0_all.deb ... Unpacking python-tenacity (3.3.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslo.messaging. Preparing to unpack .../python-oslo.messaging_5.30.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.messaging (5.30.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-pycadf. Preparing to unpack .../python-pycadf_2.6.0-0ubuntu1~cloud0_all.deb ... Unpacking python-pycadf (2.6.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-keystonemiddleware. Preparing to unpack .../python-keystonemiddleware_4.17.0-0ubuntu1~cloud0_all.deb ... Unpacking python-keystonemiddleware (4.17.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-logutils. Preparing to unpack .../python-logutils_0.3.3-5_all.deb ... Unpacking python-logutils (0.3.3-5) ... Selecting previously unselected package python-sqlparse. Preparing to unpack .../python-sqlparse_0.1.18-1_all.deb ... Unpacking python-sqlparse (0.1.18-1) ... Selecting previously unselected package python-migrate. Preparing to unpack .../python-migrate_0.11.0-0ubuntu1~cloud0_all.deb ... Unpacking python-migrate (0.11.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-mox3. Preparing to unpack .../python-mox3_0.10.0-2_all.deb ... Unpacking python-mox3 (0.10.0-2) ... Selecting previously unselected package python-requestsexceptions. Preparing to unpack .../python-requestsexceptions_1.1.2-0ubuntu1_all.deb ... Unpacking python-requestsexceptions (1.1.2-0ubuntu1) ... Selecting previously unselected package python-os-client-config. Preparing to unpack .../python-os-client-config_1.28.0-0ubuntu1~cloud0_all.deb ... Unpacking python-os-client-config (1.28.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-osc-lib. Preparing to unpack .../python-osc-lib_1.7.0-0ubuntu1~cloud0_all.deb ... Unpacking python-osc-lib (1.7.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-neutronclient. Preparing to unpack .../python-neutronclient_1%3a6.5.0-0ubuntu1.1~cloud0_all.deb ... Unpacking python-neutronclient (1:6.5.0-0ubuntu1.1~cloud0) ... Selecting previously unselected package python-novaclient. Preparing to unpack .../python-novaclient_2%3a9.1.0-0ubuntu1~cloud0_all.deb ... Unpacking python-novaclient (2:9.1.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-openssl. Preparing to unpack .../python-openssl_16.2.0-1~cloud0_all.deb ... Unpacking python-openssl (16.2.0-1~cloud0) ... Selecting previously unselected package python-warlock. Preparing to unpack .../python-warlock_1.1.0-1_all.deb ... Unpacking python-warlock (1.1.0-1) ... Selecting previously unselected package python-glanceclient. Preparing to unpack .../python-glanceclient_1%3a2.8.0-0ubuntu1~cloud0_all.deb ... Unpacking python-glanceclient (1:2.8.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-openstacksdk. Preparing to unpack .../python-openstacksdk_0.9.17-0ubuntu1~cloud0_all.deb ... Unpacking python-openstacksdk (0.9.17-0ubuntu1~cloud0) ... Selecting previously unselected package python-openstackclient. Preparing to unpack .../python-openstackclient_3.12.0-0ubuntu2~cloud0_all.deb ... Unpacking python-openstackclient (3.12.0-0ubuntu2~cloud0) ... Selecting previously unselected package python-openstackdocstheme. Preparing to unpack .../python-openstackdocstheme_1.16.1-0ubuntu1~cloud0_all.deb ... Unpacking python-openstackdocstheme (1.16.1-0ubuntu1~cloud0) ... Selecting previously unselected package python-subunit. Preparing to unpack .../python-subunit_1.1.0-3_all.deb ... Unpacking python-subunit (1.1.0-3) ... Selecting previously unselected package python-testrepository. Preparing to unpack .../python-testrepository_0.0.20-2_all.deb ... Unpacking python-testrepository (0.0.20-2) ... Selecting previously unselected package python3-linecache2. Preparing to unpack .../python3-linecache2_1.0.0-2_all.deb ... Unpacking python3-linecache2 (1.0.0-2) ... Selecting previously unselected package python3-traceback2. Preparing to unpack .../python3-traceback2_1.4.0-3_all.deb ... Unpacking python3-traceback2 (1.4.0-3) ... Selecting previously unselected package python3-unittest2. Preparing to unpack .../python3-unittest2_1.1.0-6.1_all.deb ... Unpacking python3-unittest2 (1.1.0-6.1) ... Selecting previously unselected package python3-mimeparse. Preparing to unpack .../python3-mimeparse_0.1.4-1build1_all.deb ... Unpacking python3-mimeparse (0.1.4-1build1) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../python3-pbr_2.0.0-0ubuntu1_all.deb ... Unpacking python3-pbr (2.0.0-0ubuntu1) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../python3-testtools_1.8.1-0ubuntu1_all.deb ... Unpacking python3-testtools (1.8.1-0ubuntu1) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../python3-subunit_1.1.0-3_all.deb ... Unpacking python3-subunit (1.1.0-3) ... Selecting previously unselected package subunit. Preparing to unpack .../subunit_1.1.0-3_all.deb ... Unpacking subunit (1.1.0-3) ... Selecting previously unselected package python-os-testr. Preparing to unpack .../python-os-testr_0.8.0-0ubuntu1~cloud0_all.deb ... Unpacking python-os-testr (0.8.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslo.db. Preparing to unpack .../python-oslo.db_4.25.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.db (4.25.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslo.policy. Preparing to unpack .../python-oslo.policy_1.25.1-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.policy (1.25.1-0ubuntu1~cloud0) ... Selecting previously unselected package python-psutil. Preparing to unpack .../python-psutil_3.4.2-1_amd64.deb ... Unpacking python-psutil (3.4.2-1) ... Selecting previously unselected package python-oslo.reports. Preparing to unpack .../python-oslo.reports_1.22.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.reports (1.22.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslo.rootwrap. Preparing to unpack .../python-oslo.rootwrap_5.9.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.rootwrap (5.9.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslo.versionedobjects. Preparing to unpack .../python-oslo.versionedobjects_1.26.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslo.versionedobjects (1.26.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslosphinx-common. Preparing to unpack .../python-oslosphinx-common_4.15.1-0ubuntu1~cloud0_all.deb ... Unpacking python-oslosphinx-common (4.15.1-0ubuntu1~cloud0) ... Selecting previously unselected package python-oslosphinx. Preparing to unpack .../python-oslosphinx_4.15.1-0ubuntu1~cloud0_all.deb ... Unpacking python-oslosphinx (4.15.1-0ubuntu1~cloud0) ... Selecting previously unselected package python-testscenarios. Preparing to unpack .../python-testscenarios_0.4-4_all.deb ... Unpacking python-testscenarios (0.4-4) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../python3-fixtures_3.0.0-2~cloud0_all.deb ... Unpacking python3-fixtures (3.0.0-2~cloud0) ... Selecting previously unselected package python3-testrepository. Preparing to unpack .../python3-testrepository_0.0.20-2_all.deb ... Unpacking python3-testrepository (0.0.20-2) ... Selecting previously unselected package testrepository. Preparing to unpack .../testrepository_0.0.20-2_all.deb ... Unpacking testrepository (0.0.20-2) ... Selecting previously unselected package python-oslotest. Preparing to unpack .../python-oslotest_1%3a2.17.0-0ubuntu1~cloud0_all.deb ... Unpacking python-oslotest (1:2.17.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-ceilometerclient. Preparing to unpack .../python-ceilometerclient_2.9.0-0ubuntu1~cloud0_all.deb ... Unpacking python-ceilometerclient (2.9.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-osprofiler. Preparing to unpack .../python-osprofiler_1.11.0-0ubuntu1~cloud0_all.deb ... Unpacking python-osprofiler (1.11.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-pyasn1. Preparing to unpack .../python-pyasn1_0.1.9-1_all.deb ... Unpacking python-pyasn1 (0.1.9-1) ... Selecting previously unselected package python-paramiko. Preparing to unpack .../python-paramiko_2.0.0-1~cloud0_all.deb ... Unpacking python-paramiko (2.0.0-1~cloud0) ... Selecting previously unselected package python-simplegeneric. Preparing to unpack .../python-simplegeneric_0.8.1-1_all.deb ... Unpacking python-simplegeneric (0.8.1-1) ... Selecting previously unselected package python-singledispatch. Preparing to unpack .../python-singledispatch_3.4.0.3-2_all.deb ... Unpacking python-singledispatch (3.4.0.3-2) ... Selecting previously unselected package python-waitress. Preparing to unpack .../python-waitress_0.8.10-1_all.deb ... Unpacking python-waitress (0.8.10-1) ... Selecting previously unselected package python-webtest. Preparing to unpack .../python-webtest_2.0.18-1ubuntu1_all.deb ... Unpacking python-webtest (2.0.18-1ubuntu1) ... Selecting previously unselected package python-pecan. Preparing to unpack .../python-pecan_1.1.2-3fakesync2~cloud0_all.deb ... Unpacking python-pecan (1.1.2-3fakesync2~cloud0) ... Selecting previously unselected package python-psycopg2. Preparing to unpack .../python-psycopg2_2.6.1-1build2_amd64.deb ... Unpacking python-psycopg2 (2.6.1-1build2) ... Selecting previously unselected package python-pymemcache. Preparing to unpack .../python-pymemcache_1.3.2-2ubuntu1_all.deb ... Unpacking python-pymemcache (1.3.2-2ubuntu1) ... Selecting previously unselected package python-pymysql. Preparing to unpack .../python-pymysql_0.7.11-1~cloud0_all.deb ... Unpacking python-pymysql (0.7.11-1~cloud0) ... Selecting previously unselected package python-redis. Preparing to unpack .../python-redis_2.10.5-1ubuntu1_all.deb ... Unpacking python-redis (2.10.5-1ubuntu1) ... Selecting previously unselected package python-sendfile. Preparing to unpack .../python-sendfile_2.0.1-1build1_amd64.deb ... Unpacking python-sendfile (2.0.1-1build1) ... Selecting previously unselected package python-sphinxcontrib-pecanwsme. Preparing to unpack .../python-sphinxcontrib-pecanwsme_0.8.0-3_all.deb ... Unpacking python-sphinxcontrib-pecanwsme (0.8.0-3) ... Selecting previously unselected package python-testresources. Preparing to unpack .../python-testresources_1.0.0-1_all.deb ... Unpacking python-testresources (1.0.0-1) ... Selecting previously unselected package python-voluptuous. Preparing to unpack .../python-voluptuous_0.9.3-1~cloud0_all.deb ... Unpacking python-voluptuous (0.9.3-1~cloud0) ... Selecting previously unselected package python-tooz. Preparing to unpack .../python-tooz_1.58.0-0ubuntu1~cloud0_all.deb ... Unpacking python-tooz (1.58.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-wsme. Preparing to unpack .../python-wsme_0.8.0-2ubuntu2_all.deb ... Unpacking python-wsme (0.8.0-2ubuntu2) ... Selecting previously unselected package dh-systemd. Preparing to unpack .../dh-systemd_10.2.2ubuntu1~cloud3_all.deb ... Unpacking dh-systemd (10.2.2ubuntu1~cloud3) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../openstack-pkg-tools_54ubuntu3~cloud1_all.deb ... Unpacking openstack-pkg-tools (54ubuntu3~cloud1) ... Selecting previously unselected package python-ironicclient. Preparing to unpack .../python-ironicclient_1.16.0-0ubuntu2~cloud0_all.deb ... Unpacking python-ironicclient (1.16.0-0ubuntu2~cloud0) ... Selecting previously unselected package python-os-api-ref-common. Preparing to unpack .../python-os-api-ref-common_1.2.0-0ubuntu1~cloud0_all.deb ... Unpacking python-os-api-ref-common (1.2.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-os-api-ref. Preparing to unpack .../python-os-api-ref_1.2.0-0ubuntu1~cloud0_all.deb ... Unpacking python-os-api-ref (1.2.0-0ubuntu1~cloud0) ... Selecting previously unselected package python-swiftclient. Preparing to unpack .../python-swiftclient_1%3a3.4.0-0ubuntu1~cloud0_all.deb ... Unpacking python-swiftclient (1:3.4.0-0ubuntu1~cloud0) ... Selecting previously unselected package sbuild-build-depends-ironic-dummy. Preparing to unpack .../sbuild-build-depends-ironic-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-ironic-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... Setting up mime-support (3.59ubuntu1) ... Setting up libmpdec2:amd64 (2.4.2-1) ... Setting up libpython3.5-stdlib:amd64 (3.5.2-2ubuntu0~16.04.3) ... Setting up python3.5 (3.5.2-2ubuntu0~16.04.3) ... Setting up libpython3-stdlib:amd64 (3.5.1-3) ... Setting up groff-base (1.22.3-7) ... Setting up bsdmainutils (9.0.6ubuntu3) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libpipeline1:amd64 (1.4.1-2) ... Setting up man-db (2.7.5-1) ... Not building database; man-db/auto-update is not 'true'. Setting up sgml-base (1.26+nmu4ubuntu1) ... Setting up libsigsegv2:amd64 (2.10-4) ... Setting up libunistring0:amd64 (0.9.3-5.2ubuntu1) ... Setting up libyaml-0-2:amd64 (0.1.6-3) ... Setting up libpython2.7-stdlib:amd64 (2.7.12-1ubuntu0~16.04.1) ... Setting up python2.7 (2.7.12-1ubuntu0~16.04.1) ... Setting up libpython-stdlib:amd64 (2.7.11-1) ... Setting up python (2.7.11-1) ... Setting up python-pyparsing (2.1.10+dfsg1-1~cloud0) ... Setting up python-cmd2 (0.6.8-1) ... Setting up python-extras (0.0.3-3) ... Setting up python-posix-ipc (0.9.8-2build2) ... Setting up python-alabaster (0.7.7-1) ... Setting up python-babel-localedata (2.4.0+dfsg.1-2ubuntu1~cloud0) ... Setting up python-pkg-resources (36.2.7-2~cloud0) ... Setting up python-tz (2014.10~dfsg1-0ubuntu2) ... Setting up python-babel (2.4.0+dfsg.1-2ubuntu1~cloud0) ... update-alternatives: using /usr/bin/pybabel-python2 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python-roman (2.0.0-2) ... Setting up xml-core (0.13+nmu2) ... Setting up python-imagesize (0.7.1-1~ubuntu16.04.1~ppa201704181405) ... Setting up python-markupsafe (0.23-2build2) ... Setting up python-jinja2 (2.8-1) ... Setting up python-pygments (2.2.0+dfsg-1~ubuntu16.04.1~ppa201704181404) ... Setting up python-certifi (2015.11.20.1-2) ... Setting up python-chardet (3.0.4-1~cloud0) ... Setting up python-idna (2.5-1~cloud0) ... Setting up python-six (1.10.0-3) ... Setting up python-urllib3 (1.21.1-1~cloud0) ... Setting up python-requests (2.18.1-1~cloud0) ... Setting up libjs-jquery (1.11.3+dfsg-4) ... Setting up libjs-underscore (1.7.0~dfsg-1ubuntu1) ... Setting up libjs-sphinxdoc (1.5.6-2~cloud0) ... Setting up sphinx-common (1.5.6-2~cloud0) ... Setting up python-wrapt (1.8.0-5build2) ... Setting up python-concurrent.futures (3.0.5-1) ... Setting up python-kazoo (2.2.1-1ubuntu1) ... Setting up python-zope.interface (4.1.3-1build1) ... Setting up python-linecache2 (1.0.0-2) ... Setting up python-traceback2 (1.4.0-3) ... Setting up python-unittest2 (1.1.0-6.1) ... update-alternatives: using /usr/bin/python2-unit2 to provide /usr/bin/unit2 (unit2) in auto mode Setting up python-mimeparse (0.1.4-1build1) ... Setting up python-pbr (2.0.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-pbr to provide /usr/bin/pbr (pbr) in auto mode Setting up python-testtools (1.8.1-0ubuntu1) ... Setting up python-zake (0.1.6-1) ... Setting up libapt-inst2.0:amd64 (1.2.25) ... Setting up apt-utils (1.2.25) ... Setting up libmagic1:amd64 (1:5.25-2ubuntu1) ... Setting up file (1:5.25-2ubuntu1) ... Setting up netbase (5.3) ... Setting up sudo (1.8.16-0ubuntu1.5) ... Setting up libasprintf0v5:amd64 (0.19.7-2ubuntu3) ... Setting up gettext-base (0.19.7-2ubuntu3) ... Setting up libglib2.0-0:amd64 (2.48.2-0ubuntu1) ... No schema files found: doing nothing. Setting up libicu55:amd64 (55.1-7ubuntu0.3) ... Setting up libxml2:amd64 (2.9.3+dfsg1-1ubuntu0.3) ... Setting up python-mako (1.0.3+ds1-1ubuntu1) ... Setting up python-sqlalchemy (1.1.9+ds1-0ubuntu3~cloud0) ... Setting up python-alembic (0.8.10-0ubuntu2~cloud0) ... update-alternatives: using /usr/bin/python2-alembic to provide /usr/bin/alembic (alembic) in auto mode Setting up alembic (0.8.10-0ubuntu2~cloud0) ... Setting up m4 (1.4.17-5) ... Setting up autoconf (2.69-9) ... Setting up autotools-dev (20150820.1) ... Setting up automake (1:1.15-4ubuntu1) ... update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode Setting up autopoint (0.19.7-2ubuntu3) ... Setting up libtool (2.4.6-0.1) ... Setting up libarchive-zip-perl (1.56-2) ... Setting up libfile-stripnondeterminism-perl (0.015-1) ... Setting up libtimedate-perl (2.3000-2) ... Setting up libcroco3:amd64 (0.6.11-1) ... Setting up gettext (0.19.7-2ubuntu3) ... Setting up intltool-debian (0.35.0+20060710.4) ... Setting up po-debconf (1.0.19) ... Setting up formencode-i18n (1.3.0-0ubuntu5) ... Setting up libencode-locale-perl (1.05-1) ... Setting up libhttp-date-perl (6.02-1) ... Setting up libfile-listing-perl (6.04-1) ... Setting up libhtml-tagset-perl (3.20-2) ... Setting up liburi-perl (1.71-1) ... Setting up libhtml-parser-perl (3.72-1) ... Setting up libhtml-tree-perl (5.03-2) ... Setting up libio-html-perl (1.001-1) ... Setting up liblwp-mediatypes-perl (6.02-1) ... Setting up libhttp-message-perl (6.11-1) ... Setting up libhttp-cookies-perl (6.01-1) ... Setting up libhttp-negotiate-perl (6.00-2) ... Setting up libnet-ssleay-perl (1.72-1build1) ... Setting up libio-socket-ssl-perl (2.024-1) ... Setting up libnet-http-perl (6.09-1) ... Setting up libwww-robotrules-perl (6.01-1) ... Setting up libjs-bootstrap (3.3.6+dfsg-1) ... Setting up libpq5:amd64 (9.5.9-0ubuntu0.16.04) ... Setting up libsubunit-perl (1.1.0-3) ... Setting up libxdelta2 (1.1.3-9.1ubuntu1) ... Setting up libxslt1.1:amd64 (1.1.28-2.1ubuntu0.1) ... Setting up madison-lite (0.21) ... Setting up xdelta (1.1.3-9.1ubuntu1) ... Setting up pristine-tar (1.33) ... Setting up pycadf-common (2.6.0-0ubuntu1~cloud0) ... Setting up python-pyflakes (1.1.0-2) ... Setting up pyflakes (1.1.0-2) ... Setting up python-all (2.7.11-1) ... Setting up python-anyjson (0.3.3-1build1) ... Setting up python-appdirs (1.4.0-2) ... Setting up python-asn1crypto (0.22.0-1~cloud0) ... Setting up python-funcsigs (1.0.2-3~cloud0) ... Setting up python-debtcollector (1.3.0-2) ... Setting up python-prettytable (0.7.2-3) ... Setting up python-automaton (1.2.0-1) ... Setting up python-bashate (0.3.1-2) ... update-alternatives: using /usr/bin/python2-bashate to provide /usr/bin/bashate (bashate) in auto mode Setting up python-blinker (1.3.dfsg2-1build1) ... Setting up python-bs4 (4.4.1-1) ... Setting up python-cachetools (1.1.6-1~cloud0) ... Setting up python-cffi-backend (1.9.1-2build2~cloud0) ... Setting up python-iso8601 (0.1.11-1) ... Setting up python-lxml (3.5.0-1build1) ... Setting up python-enum34 (1.1.2-1) ... Setting up python-ipaddress (1.0.16-1) ... Setting up python-cryptography (1.9-1~cloud0) ... Setting up python-jwt (1.3.0-1ubuntu0.1) ... Setting up python-oauthlib (1.0.3-1) ... Setting up python-positional (1.1.1-3~cloud0) ... Setting up python-stevedore (1:1.25.0-0ubuntu1~cloud0) ... Setting up python-keystoneauth1 (3.1.0-0ubuntu2~cloud0) ... Setting up python-oslo.i18n (3.17.0-0ubuntu1~cloud0) ... Setting up python-msgpack (0.4.6-1build1) ... Setting up python-monotonic (0.6-2) ... Setting up python-netifaces (0.10.4-0.1build2) ... Setting up python-simplejson (3.8.1-1ubuntu2) ... Setting up python-unicodecsv (0.14.1-1) ... Setting up python-yaml (3.12-1build2~cloud0) ... Setting up python-cliff (2.8.0-0ubuntu1~cloud0) ... Setting up python-configparser (3.3.0r2-2) ... Setting up python-contextlib2 (0.5.1-1) ... Setting up python-coverage (4.3.4+dfsg.1-1build1~cloud0) ... Setting up python-crypto (2.6.1-6ubuntu0.16.04.2) ... Setting up python-dateutil (2.4.2-1) ... Setting up python-decorator (4.0.6-1) ... Setting up python-deprecation (1.0.1-0ubuntu1~cloud0) ... Setting up python-dnspython (1.15.0-1~cloud0) ... Setting up python-dogpile.cache (0.6.2-5~cloud0) ... Setting up python-greenlet (0.4.9-2fakesync1) ... Setting up python-eventlet (0.18.4-1ubuntu1) ... Setting up python-fasteners (0.12.0-2ubuntu1) ... Setting up python-fixtures (3.0.0-2~cloud0) ... Setting up python-mccabe (0.6.1-2~cloud0) ... Setting up python-setuptools (36.2.7-2~cloud0) ... Setting up python-pycodestyle (2.3.1-2~cloud0) ... Setting up python-flake8 (3.2.1-1~cloud0) ... Setting up python-formencode (1.3.0-0ubuntu5) ... Setting up python-functools32 (3.2.3.2-2) ... Setting up python-futurist (0.13.0-2) ... Setting up python-hacking (0.12.0-0ubuntu1~cloud0) ... Setting up python-ipaddr (2.1.11-2) ... Setting up python-rfc3986 (0.3.1-2~cloud0) ... Setting up python-oslo.context (1:2.17.0-0ubuntu1~cloud0) ... Setting up python-pyinotify (0.9.6-0fakesync1) ... Setting up python-tempita (0.5.2-1build1) ... Setting up python-paste (1.7.5.1-6ubuntu3) ... Setting up python-pastedeploy-tpl (1.5.2-1) ... Setting up python-pastedeploy (1.5.2-1) ... Setting up python-repoze.lru (0.6-6) ... Setting up python-routes (2.4.1-1~cloud0) ... Setting up python-webob (1:1.7.2-0ubuntu1~ubuntu16.04.1~ppa201704191338) ... Setting up python-json-pointer (1.9-3) ... update-alternatives: using /usr/bin/python2-jsonpointer to provide /usr/bin/jsonpointer (jsonpointer) in auto mode Setting up python-jsonpatch (1.19-3) ... update-alternatives: using /usr/bin/python2-jsondiff to provide /usr/bin/jsondiff (jsondiff) in auto mode update-alternatives: using /usr/bin/python2-jsonpatch to provide /usr/bin/jsonpatch (jsonpatch) in auto mode Setting up python-mock (2.0.0-3~cloud0) ... Setting up python-jsonschema (2.5.1-4) ... update-alternatives: using /usr/bin/python2-jsonschema to provide /usr/bin/jsonschema (jsonschema) in auto mode Setting up python-keyring (7.3-1ubuntu1) ... Setting up python-vine (1.1.3+dfsg-2) ... Setting up python-amqp (2.1.4-1) ... Setting up python-kombu (4.0.2+really4.0.2+dfsg-2ubuntu1~cloud0) ... Setting up python-statsd (3.2.1-2~cloud0) ... Setting up python-pika (0.10.0-1) ... Setting up python-pika-pool (0.1.3-1ubuntu1) ... Setting up python-retrying (1.3.3-1) ... Setting up python-tenacity (3.3.0-0ubuntu1~cloud0) ... Setting up python-logutils (0.3.3-5) ... Setting up python-sqlparse (0.1.18-1) ... Setting up python-migrate (0.11.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-migrate to provide /usr/bin/migrate (migrate) in auto mode update-alternatives: using /usr/bin/python2-migrate-repository to provide /usr/bin/migrate-repository (migrate-repository) in auto mode Setting up python-mox3 (0.10.0-2) ... Setting up python-requestsexceptions (1.1.2-0ubuntu1) ... Setting up python-os-client-config (1.28.0-0ubuntu1~cloud0) ... Setting up python-openssl (16.2.0-1~cloud0) ... Setting up python-warlock (1.1.0-1) ... Setting up python-openstacksdk (0.9.17-0ubuntu1~cloud0) ... Setting up python-openstackdocstheme (1.16.1-0ubuntu1~cloud0) ... Setting up python-subunit (1.1.0-3) ... Setting up python-testrepository (0.0.20-2) ... update-alternatives: using /usr/bin/testr-python2 to provide /usr/bin/testr (testr) in auto mode Setting up python3-mimeparse (0.1.4-1build1) ... Setting up python-psutil (3.4.2-1) ... Setting up python-oslo.rootwrap (5.9.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-oslo-rootwrap to provide /usr/bin/oslo-rootwrap (oslo-rootwrap) in auto mode update-alternatives: using /usr/bin/python2-oslo-rootwrap-daemon to provide /usr/bin/oslo-rootwrap-daemon (oslo-rootwrap-daemon) in auto mode Setting up python-oslosphinx-common (4.15.1-0ubuntu1~cloud0) ... Setting up python-oslosphinx (4.15.1-0ubuntu1~cloud0) ... Setting up python-testscenarios (0.4-4) ... Setting up python-pyasn1 (0.1.9-1) ... Setting up python-paramiko (2.0.0-1~cloud0) ... Setting up python-simplegeneric (0.8.1-1) ... Setting up python-singledispatch (3.4.0.3-2) ... Setting up python-waitress (0.8.10-1) ... update-alternatives: using /usr/bin/waitress-serve-python2 to provide /usr/bin/waitress-serve (waitress-serve) in auto mode Setting up python-webtest (2.0.18-1ubuntu1) ... Setting up python-pecan (1.1.2-3fakesync2~cloud0) ... update-alternatives: using /usr/bin/gunicorn_pecan-python2 to provide /usr/bin/gunicorn_pecan (gunicorn_pecan) in auto mode update-alternatives: using /usr/bin/pecan-python2 to provide /usr/bin/pecan (pecan) in auto mode Setting up python-psycopg2 (2.6.1-1build2) ... Setting up python-pymemcache (1.3.2-2ubuntu1) ... Setting up python-pymysql (0.7.11-1~cloud0) ... Setting up python-redis (2.10.5-1ubuntu1) ... Setting up python-sendfile (2.0.1-1build1) ... Setting up python-testresources (1.0.0-1) ... Setting up python-voluptuous (0.9.3-1~cloud0) ... Setting up python-os-api-ref-common (1.2.0-0ubuntu1~cloud0) ... Processing triggers for sgml-base (1.26+nmu4ubuntu1) ... Setting up docutils-common (0.12+dfsg-1) ... Processing triggers for sgml-base (1.26+nmu4ubuntu1) ... Setting up python-docutils (0.12+dfsg-1) ... update-alternatives: using /usr/share/docutils/scripts/python2/rst-buildhtml to provide /usr/bin/rst-buildhtml (rst-buildhtml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2html to provide /usr/bin/rst2html (rst2html) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2latex to provide /usr/bin/rst2latex (rst2latex) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2man to provide /usr/bin/rst2man (rst2man) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2odt to provide /usr/bin/rst2odt (rst2odt) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2odt_prepstyles to provide /usr/bin/rst2odt_prepstyles (rst2odt_prepstyles) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2pseudoxml to provide /usr/bin/rst2pseudoxml (rst2pseudoxml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2s5 to provide /usr/bin/rst2s5 (rst2s5) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2xetex to provide /usr/bin/rst2xetex (rst2xetex) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2xml to provide /usr/bin/rst2xml (rst2xml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rstpep2html to provide /usr/bin/rstpep2html (rstpep2html) in auto mode Setting up python-sphinx (1.5.6-2~cloud0) ... Setting up python-sphinxcontrib.httpdomain (1.3.0-1) ... Setting up python-sphinxcontrib-pecanwsme (0.8.0-3) ... Setting up python-os-api-ref (1.2.0-0ubuntu1~cloud0) ... Setting up dh-python (2.20170125~cloud0) ... Setting up python3 (3.5.1-3) ... Setting up python3-extras (0.0.3-3) ... Setting up python3-pkg-resources (36.2.7-2~cloud0) ... Setting up python3-chardet (3.0.4-1~cloud0) ... Setting up python3-six (1.10.0-3) ... Setting up python3-debian (0.1.27ubuntu2) ... Setting up autopkgtest (3.20.4ubuntu1) ... Setting up dh-autoreconf (14~cloud0) ... Setting up dh-strip-nondeterminism (0.015-1) ... Setting up libwww-perl (6.15-1) ... Setting up ieee-data (20150531.1) ... Setting up libxml-parser-perl (2.44-1build1) ... Setting up libxml-xpath-perl (1.30-1) ... Setting up python-netaddr (0.7.18-1) ... Setting up python-oslo.utils (3.28.0-0ubuntu1~cloud0) ... Setting up python-oslo.serialization (2.20.0-0ubuntu1~cloud0) ... Setting up python-cinderclient (1:3.1.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-cinder to provide /usr/bin/cinder (cinder) in auto mode Setting up python-oslo.config (1:4.11.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-oslo-config-generator to provide /usr/bin/oslo-config-generator (oslo-config-generator) in auto mode Setting up python-oslo.concurrency (3.21.0-0ubuntu2~cloud0) ... update-alternatives: using /usr/bin/python2-lockutils-wrapper to provide /usr/bin/lockutils-wrapper (lockutils-wrapper) in auto mode Setting up python-oslo.log (3.30.0-0ubuntu1~cloud0) ... Setting up python-oslo.service (1.25.0-0ubuntu1~cloud0) ... Setting up python-ironic-lib (2.9.0-0ubuntu1~cloud0) ... Setting up python-keystoneclient (1:3.13.0-0ubuntu1~cloud0) ... Setting up python-oslo.middleware (3.30.0-0ubuntu1.1~cloud0) ... Setting up python-oslo.messaging (5.30.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-oslo-messaging-zmq-broker to provide /usr/bin/oslo-messaging-zmq-broker (oslo-messaging-zmq-broker) in auto mode update-alternatives: using /usr/bin/python2-oslo-messaging-zmq-proxy to provide /usr/bin/oslo-messaging-zmq-proxy (oslo-messaging-zmq-proxy) in auto mode Setting up python-pycadf (2.6.0-0ubuntu1~cloud0) ... Setting up python-keystonemiddleware (4.17.0-0ubuntu1~cloud0) ... Setting up python-osc-lib (1.7.0-0ubuntu1~cloud0) ... Setting up python-neutronclient (1:6.5.0-0ubuntu1.1~cloud0) ... update-alternatives: using /usr/bin/python2-neutron to provide /usr/bin/neutron (neutron) in auto mode Setting up python-novaclient (2:9.1.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-nova to provide /usr/bin/nova (nova) in auto mode Setting up python-glanceclient (1:2.8.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-glance to provide /usr/bin/glance (glance) in auto mode Setting up python-openstackclient (3.12.0-0ubuntu2~cloud0) ... update-alternatives: using /usr/bin/python2-openstack to provide /usr/bin/openstack (openstack) in auto mode Setting up python3-linecache2 (1.0.0-2) ... Setting up python3-traceback2 (1.4.0-3) ... Setting up python3-unittest2 (1.1.0-6.1) ... Setting up python3-pbr (2.0.0-0ubuntu1) ... Setting up python3-testtools (1.8.1-0ubuntu1) ... Setting up python3-subunit (1.1.0-3) ... Setting up subunit (1.1.0-3) ... Setting up python-os-testr (0.8.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-ostestr to provide /usr/bin/ostestr (ostestr) in auto mode update-alternatives: using /usr/bin/python2-subunit-trace to provide /usr/bin/subunit-trace (subunit-trace) in auto mode update-alternatives: using /usr/bin/python2-subunit2html to provide /usr/bin/subunit2html (subunit2html) in auto mode update-alternatives: using /usr/bin/python2-generate-subunit to provide /usr/bin/generate-subunit (generate-subunit) in auto mode Setting up python-oslo.db (4.25.0-0ubuntu1~cloud0) ... Setting up python-oslo.policy (1.25.1-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-oslopolicy-sample-generator to provide /usr/bin/oslopolicy-sample-generator (oslopolicy-sample-generator) in auto mode update-alternatives: using /usr/bin/python2-oslopolicy-checker to provide /usr/bin/oslopolicy-checker (oslopolicy-checker) in auto mode update-alternatives: using /usr/bin/python2-oslopolicy-policy-generator to provide /usr/bin/oslopolicy-policy-generator (oslopolicy-policy-generator) in auto mode update-alternatives: using /usr/bin/python2-oslopolicy-list-redundant to provide /usr/bin/oslopolicy-list-redundant (oslopolicy-list-redundant) in auto mode Setting up python-oslo.reports (1.22.0-0ubuntu1~cloud0) ... Setting up python-oslo.versionedobjects (1.26.0-0ubuntu1~cloud0) ... Setting up python3-fixtures (3.0.0-2~cloud0) ... Setting up python3-testrepository (0.0.20-2) ... Setting up testrepository (0.0.20-2) ... Setting up python-oslotest (1:2.17.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-oslo_debug_helper to provide /usr/bin/oslo_debug_helper (oslo_debug_helper) in auto mode update-alternatives: using /usr/bin/python2-oslo_run_pre_release_tests to provide /usr/bin/oslo_run_pre_release_tests (oslo_run_pre_release_tests) in auto mode update-alternatives: using /usr/bin/python2-oslo_run_cross_tests to provide /usr/bin/oslo_run_cross_tests (oslo_run_cross_tests) in auto mode Setting up python-ceilometerclient (2.9.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-ceilometer to provide /usr/bin/ceilometer (ceilometer) in auto mode Setting up python-osprofiler (1.11.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-osprofiler to provide /usr/bin/osprofiler (osprofiler) in auto mode Setting up python-tooz (1.58.0-0ubuntu1~cloud0) ... Setting up python-wsme (0.8.0-2ubuntu2) ... Setting up openstack-pkg-tools (54ubuntu3~cloud1) ... Setting up python-ironicclient (1.16.0-0ubuntu2~cloud0) ... update-alternatives: using /usr/bin/python2-ironic to provide /usr/bin/ironic (ironic) in auto mode Setting up python-swiftclient (1:3.4.0-0ubuntu1~cloud0) ... update-alternatives: using /usr/bin/python2-swift to provide /usr/bin/swift (swift) in auto mode Setting up debhelper (10.2.2ubuntu1~cloud3) ... Setting up liblwp-protocol-https-perl (6.06-2) ... Setting up dh-systemd (10.2.2ubuntu1~cloud3) ... Setting up sbuild-build-depends-ironic-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.23-0ubuntu9) ... +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.4.0-97-generic amd64 (x86_64) Toolchain package versions: binutils_2.26.1-1ubuntu1~16.04.5 dpkg-dev_1.18.4ubuntu1.3 g++-5_5.4.0-6ubuntu1~16.04.5 gcc-5_5.4.0-6ubuntu1~16.04.5 libc6-dev_2.23-0ubuntu9 libstdc++-5-dev_5.4.0-6ubuntu1~16.04.5 libstdc++6_5.4.0-6ubuntu1~16.04.5 linux-libc-dev_4.4.0-98.121 Package versions: adduser_3.113+nmu3ubuntu4 advancecomp_1.20-1 alembic_0.8.10-0ubuntu2~cloud0 apt_1.2.25 apt-transport-https_1.2.25 apt-utils_1.2.25 autoconf_2.69-9 automake_1:1.15-4ubuntu1 autopkgtest_3.20.4ubuntu1 autopoint_0.19.7-2ubuntu3 autotools-dev_20150820.1 base-files_9.4ubuntu4.5 base-passwd_3.5.39 bash_4.3-14ubuntu1.2 binutils_2.26.1-1ubuntu1~16.04.5 bsdmainutils_9.0.6ubuntu3 bsdutils_1:2.27.1-6ubuntu3.3 build-essential_12.1ubuntu2 bzip2_1.0.6-8 ca-certificates_20170717~16.04.1 coreutils_8.25-2ubuntu3~16.04 cpp_4:5.3.1-1ubuntu1 cpp-5_5.4.0-6ubuntu1~16.04.5 dash_0.5.8-2.1ubuntu2 debconf_1.5.58ubuntu1 debhelper_10.2.2ubuntu1~cloud3 debianutils_4.7 dh-autoreconf_14~cloud0 dh-python_2.20170125~cloud0 dh-strip-nondeterminism_0.015-1 dh-systemd_10.2.2ubuntu1~cloud3 diffutils_1:3.3-3 dmsetup_2:1.02.110-1ubuntu10 docutils-common_0.12+dfsg-1 dpkg_1.18.4ubuntu1.3 dpkg-dev_1.18.4ubuntu1.3 e2fslibs_1.42.13-1ubuntu1 e2fsprogs_1.42.13-1ubuntu1 fakeroot_1.20.2-1ubuntu1 file_1:5.25-2ubuntu1 findutils_4.6.0+git+20160126-2 formencode-i18n_1.3.0-0ubuntu5 g++_4:5.3.1-1ubuntu1 g++-5_5.4.0-6ubuntu1~16.04.5 gcc_4:5.3.1-1ubuntu1 gcc-5_5.4.0-6ubuntu1~16.04.5 gcc-5-base_5.4.0-6ubuntu1~16.04.5 gcc-6-base_6.0.1-0ubuntu1 gettext_0.19.7-2ubuntu3 gettext-base_0.19.7-2ubuntu3 gnupg_1.4.20-1ubuntu3.1 gpgv_1.4.20-1ubuntu3.1 grep_2.25-1~16.04.1 groff-base_1.22.3-7 gzip_1.6-4ubuntu1 hostname_3.16ubuntu2 ieee-data_20150531.1 init_1.29ubuntu4 init-system-helpers_1.29ubuntu4 initscripts_2.88dsf-59.3ubuntu2 insserv_1.14.0-5ubuntu3 intltool-debian_0.35.0+20060710.4 libacl1_2.2.52-3 libapparmor1_2.10.95-0ubuntu2.7 libapt-inst2.0_1.2.25 libapt-pkg5.0_1.2.25 libarchive-zip-perl_1.56-2 libasan2_5.4.0-6ubuntu1~16.04.5 libasn1-8-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libasprintf0v5_0.19.7-2ubuntu3 libatomic1_5.4.0-6ubuntu1~16.04.5 libattr1_1:2.4.47-2 libaudit-common_1:2.4.5-1ubuntu2.1 libaudit1_1:2.4.5-1ubuntu2.1 libblkid1_2.27.1-6ubuntu3.3 libbz2-1.0_1.0.6-8 libc-bin_2.23-0ubuntu9 libc-dev-bin_2.23-0ubuntu9 libc6_2.23-0ubuntu9 libc6-dev_2.23-0ubuntu9 libcap2_1:2.24-12 libcap2-bin_1:2.24-12 libcc1-0_5.4.0-6ubuntu1~16.04.5 libcilkrts5_5.4.0-6ubuntu1~16.04.5 libcomerr2_1.42.13-1ubuntu1 libcroco3_0.6.11-1 libcryptsetup4_2:1.6.6-5ubuntu2.1 libcurl3-gnutls_7.47.0-1ubuntu2.4 libdb5.3_5.3.28-11 libdbus-1-3_1.10.6-1ubuntu3.3 libdebconfclient0_0.198ubuntu1 libdevmapper1.02.1_2:1.02.110-1ubuntu10 libdpkg-perl_1.18.4ubuntu1.3 libencode-locale-perl_1.05-1 libexpat1_2.1.0-7ubuntu0.16.04.3 libfakeroot_1.20.2-1ubuntu1 libfdisk1_2.27.1-6ubuntu3.3 libffi6_3.2.1-4 libfile-listing-perl_6.04-1 libfile-stripnondeterminism-perl_0.015-1 libgcc-5-dev_5.4.0-6ubuntu1~16.04.5 libgcc1_1:6.0.1-0ubuntu1 libgcrypt20_1.6.5-2ubuntu0.3 libgdbm3_1.8.3-13.1 libglib2.0-0_2.48.2-0ubuntu1 libgmp10_2:6.1.0+dfsg-2 libgnutls30_3.4.10-4ubuntu1.4 libgomp1_5.4.0-6ubuntu1~16.04.5 libgpg-error0_1.21-2ubuntu1 libgssapi-krb5-2_1.13.2+dfsg-5ubuntu2 libgssapi3-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libhcrypto4-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libheimbase1-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libheimntlm0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libhogweed4_3.3-2~cloud0 libhtml-parser-perl_3.72-1 libhtml-tagset-perl_3.20-2 libhtml-tree-perl_5.03-2 libhttp-cookies-perl_6.01-1 libhttp-date-perl_6.02-1 libhttp-message-perl_6.11-1 libhttp-negotiate-perl_6.00-2 libhx509-5-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libicu55_55.1-7ubuntu0.3 libidn11_1.32-3ubuntu1.2 libio-html-perl_1.001-1 libio-socket-ssl-perl_2.024-1 libisl15_0.16.1-1 libitm1_5.4.0-6ubuntu1~16.04.5 libjs-bootstrap_3.3.6+dfsg-1 libjs-jquery_1.11.3+dfsg-4 libjs-sphinxdoc_1.5.6-2~cloud0 libjs-underscore_1.7.0~dfsg-1ubuntu1 libk5crypto3_1.13.2+dfsg-5ubuntu2 libkeyutils1_1.5.9-8ubuntu1 libkmod2_22-1ubuntu5 libkrb5-26-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libkrb5-3_1.13.2+dfsg-5ubuntu2 libkrb5support0_1.13.2+dfsg-5ubuntu2 libldap-2.4-2_2.4.42+dfsg-2ubuntu3.2 liblockfile-bin_1.09-6ubuntu1 liblockfile1_1.09-6ubuntu1 liblsan0_5.4.0-6ubuntu1~16.04.5 liblwp-mediatypes-perl_6.02-1 liblwp-protocol-https-perl_6.06-2 liblz4-1_0.0~r131-2ubuntu2 liblzma5_5.1.1alpha+20120614-2ubuntu2 libmagic1_1:5.25-2ubuntu1 libmount1_2.27.1-6ubuntu3.3 libmpc3_1.0.3-1 libmpdec2_2.4.2-1 libmpfr4_3.1.4-1 libmpx0_5.4.0-6ubuntu1~16.04.5 libncurses5_6.0+20160213-1ubuntu1 libncursesw5_6.0+20160213-1ubuntu1 libnet-http-perl_6.09-1 libnet-ssleay-perl_1.72-1build1 libnettle6_3.3-2~cloud0 libnih-dbus1_1.0.3-4.3ubuntu1 libnih1_1.0.3-4.3ubuntu1 libp11-kit0_0.23.2-5~ubuntu16.04.1 libpam-modules_1.1.8-3.2ubuntu2 libpam-modules-bin_1.1.8-3.2ubuntu2 libpam-runtime_1.1.8-3.2ubuntu2 libpam0g_1.1.8-3.2ubuntu2 libpcre3_2:8.38-3.1 libperl5.22_5.22.1-9 libpipeline1_1.4.1-2 libpng12-0_1.2.54-1ubuntu1 libpq5_9.5.9-0ubuntu0.16.04 libprocps4_2:3.3.10-4ubuntu2.3 libpython-stdlib_2.7.11-1 libpython2.7-minimal_2.7.12-1ubuntu0~16.04.1 libpython2.7-stdlib_2.7.12-1ubuntu0~16.04.1 libpython3-stdlib_3.5.1-3 libpython3.5-minimal_3.5.2-2ubuntu0~16.04.3 libpython3.5-stdlib_3.5.2-2ubuntu0~16.04.3 libquadmath0_5.4.0-6ubuntu1~16.04.5 libreadline6_6.3-8ubuntu2 libroken18-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 librtmp1_2.4+20151223.gitfa8646d-1ubuntu0.1 libsasl2-2_2.1.26.dfsg1-14build1 libsasl2-modules-db_2.1.26.dfsg1-14build1 libseccomp2_2.2.3-3ubuntu3 libselinux1_2.4-3build2 libsemanage-common_2.3-1build3 libsemanage1_2.3-1build3 libsepol1_2.4-2 libsigsegv2_2.10-4 libslang2_2.3.0-2ubuntu1 libsmartcols1_2.27.1-6ubuntu3.3 libsqlite3-0_3.11.0-1ubuntu1 libss2_1.42.13-1ubuntu1 libssl1.0.0_1.0.2g-1ubuntu4.8 libstdc++-5-dev_5.4.0-6ubuntu1~16.04.5 libstdc++6_5.4.0-6ubuntu1~16.04.5 libsubunit-perl_1.1.0-3 libsystemd0_229-4ubuntu21 libtasn1-6_4.7-3ubuntu0.16.04.2 libtimedate-perl_2.3000-2 libtinfo5_6.0+20160213-1ubuntu1 libtool_2.4.6-0.1 libtsan0_5.4.0-6ubuntu1~16.04.5 libubsan0_5.4.0-6ubuntu1~16.04.5 libudev1_229-4ubuntu21 libunistring0_0.9.3-5.2ubuntu1 liburi-perl_1.71-1 libusb-0.1-4_2:0.1.12-28 libustr-1.0-1_1.0.4-5 libuuid1_2.27.1-6ubuntu3.3 libwind0-heimdal_1.7~git20150920+dfsg-4ubuntu1.16.04.1 libwww-perl_6.15-1 libwww-robotrules-perl_6.01-1 libxdelta2_1.1.3-9.1ubuntu1 libxml-parser-perl_2.44-1build1 libxml-xpath-perl_1.30-1 libxml2_2.9.3+dfsg1-1ubuntu0.3 libxslt1.1_1.1.28-2.1ubuntu0.1 libyaml-0-2_0.1.6-3 linux-libc-dev_4.4.0-98.121 lockfile-progs_0.1.17 login_1:4.2-3.1ubuntu5.3 lsb-base_9.20160110ubuntu0.2 m4_1.4.17-5 madison-lite_0.21 make_4.1-6 man-db_2.7.5-1 mawk_1.3.3-17ubuntu2 mime-support_3.59ubuntu1 mount_2.27.1-6ubuntu3.3 multiarch-support_2.23-0ubuntu9 ncurses-base_6.0+20160213-1ubuntu1 ncurses-bin_6.0+20160213-1ubuntu1 netbase_5.3 openssl_1.0.2g-1ubuntu4.8 openstack-pkg-tools_54ubuntu3~cloud1 optipng_0.7.6-1 passwd_1:4.2-3.1ubuntu5.3 patch_2.7.5-1 perl_5.22.1-9 perl-base_5.22.1-9 perl-modules-5.22_5.22.1-9 pkg-create-dbgsym_0.72 pkgbinarymangler_129 po-debconf_1.0.19 policyrcd-script-zg2_0.1-2 pristine-tar_1.33 procps_2:3.3.10-4ubuntu2.3 pycadf-common_2.6.0-0ubuntu1~cloud0 pyflakes_1.1.0-2 python_2.7.11-1 python-alabaster_0.7.7-1 python-alembic_0.8.10-0ubuntu2~cloud0 python-all_2.7.11-1 python-amqp_2.1.4-1 python-anyjson_0.3.3-1build1 python-appdirs_1.4.0-2 python-asn1crypto_0.22.0-1~cloud0 python-automaton_1.2.0-1 python-babel_2.4.0+dfsg.1-2ubuntu1~cloud0 python-babel-localedata_2.4.0+dfsg.1-2ubuntu1~cloud0 python-bashate_0.3.1-2 python-blinker_1.3.dfsg2-1build1 python-bs4_4.4.1-1 python-cachetools_1.1.6-1~cloud0 python-ceilometerclient_2.9.0-0ubuntu1~cloud0 python-certifi_2015.11.20.1-2 python-cffi-backend_1.9.1-2build2~cloud0 python-chardet_3.0.4-1~cloud0 python-cinderclient_1:3.1.0-0ubuntu1~cloud0 python-cliff_2.8.0-0ubuntu1~cloud0 python-cmd2_0.6.8-1 python-concurrent.futures_3.0.5-1 python-configparser_3.3.0r2-2 python-contextlib2_0.5.1-1 python-coverage_4.3.4+dfsg.1-1build1~cloud0 python-crypto_2.6.1-6ubuntu0.16.04.2 python-cryptography_1.9-1~cloud0 python-dateutil_2.4.2-1 python-debtcollector_1.3.0-2 python-decorator_4.0.6-1 python-deprecation_1.0.1-0ubuntu1~cloud0 python-dnspython_1.15.0-1~cloud0 python-docutils_0.12+dfsg-1 python-dogpile.cache_0.6.2-5~cloud0 python-enum34_1.1.2-1 python-eventlet_0.18.4-1ubuntu1 python-extras_0.0.3-3 python-fasteners_0.12.0-2ubuntu1 python-fixtures_3.0.0-2~cloud0 python-flake8_3.2.1-1~cloud0 python-formencode_1.3.0-0ubuntu5 python-funcsigs_1.0.2-3~cloud0 python-functools32_3.2.3.2-2 python-futurist_0.13.0-2 python-glanceclient_1:2.8.0-0ubuntu1~cloud0 python-greenlet_0.4.9-2fakesync1 python-hacking_0.12.0-0ubuntu1~cloud0 python-idna_2.5-1~cloud0 python-imagesize_0.7.1-1~ubuntu16.04.1~ppa201704181405 python-ipaddr_2.1.11-2 python-ipaddress_1.0.16-1 python-ironic-lib_2.9.0-0ubuntu1~cloud0 python-ironicclient_1.16.0-0ubuntu2~cloud0 python-iso8601_0.1.11-1 python-jinja2_2.8-1 python-json-pointer_1.9-3 python-jsonpatch_1.19-3 python-jsonschema_2.5.1-4 python-jwt_1.3.0-1ubuntu0.1 python-kazoo_2.2.1-1ubuntu1 python-keyring_7.3-1ubuntu1 python-keystoneauth1_3.1.0-0ubuntu2~cloud0 python-keystoneclient_1:3.13.0-0ubuntu1~cloud0 python-keystonemiddleware_4.17.0-0ubuntu1~cloud0 python-kombu_4.0.2+really4.0.2+dfsg-2ubuntu1~cloud0 python-linecache2_1.0.0-2 python-logutils_0.3.3-5 python-lxml_3.5.0-1build1 python-mako_1.0.3+ds1-1ubuntu1 python-markupsafe_0.23-2build2 python-mccabe_0.6.1-2~cloud0 python-migrate_0.11.0-0ubuntu1~cloud0 python-mimeparse_0.1.4-1build1 python-minimal_2.7.11-1 python-mock_2.0.0-3~cloud0 python-monotonic_0.6-2 python-mox3_0.10.0-2 python-msgpack_0.4.6-1build1 python-netaddr_0.7.18-1 python-netifaces_0.10.4-0.1build2 python-neutronclient_1:6.5.0-0ubuntu1.1~cloud0 python-novaclient_2:9.1.0-0ubuntu1~cloud0 python-oauthlib_1.0.3-1 python-openssl_16.2.0-1~cloud0 python-openstackclient_3.12.0-0ubuntu2~cloud0 python-openstackdocstheme_1.16.1-0ubuntu1~cloud0 python-openstacksdk_0.9.17-0ubuntu1~cloud0 python-os-api-ref_1.2.0-0ubuntu1~cloud0 python-os-api-ref-common_1.2.0-0ubuntu1~cloud0 python-os-client-config_1.28.0-0ubuntu1~cloud0 python-os-testr_0.8.0-0ubuntu1~cloud0 python-osc-lib_1.7.0-0ubuntu1~cloud0 python-oslo.concurrency_3.21.0-0ubuntu2~cloud0 python-oslo.config_1:4.11.0-0ubuntu1~cloud0 python-oslo.context_1:2.17.0-0ubuntu1~cloud0 python-oslo.db_4.25.0-0ubuntu1~cloud0 python-oslo.i18n_3.17.0-0ubuntu1~cloud0 python-oslo.log_3.30.0-0ubuntu1~cloud0 python-oslo.messaging_5.30.0-0ubuntu1~cloud0 python-oslo.middleware_3.30.0-0ubuntu1.1~cloud0 python-oslo.policy_1.25.1-0ubuntu1~cloud0 python-oslo.reports_1.22.0-0ubuntu1~cloud0 python-oslo.rootwrap_5.9.0-0ubuntu1~cloud0 python-oslo.serialization_2.20.0-0ubuntu1~cloud0 python-oslo.service_1.25.0-0ubuntu1~cloud0 python-oslo.utils_3.28.0-0ubuntu1~cloud0 python-oslo.versionedobjects_1.26.0-0ubuntu1~cloud0 python-oslosphinx_4.15.1-0ubuntu1~cloud0 python-oslosphinx-common_4.15.1-0ubuntu1~cloud0 python-oslotest_1:2.17.0-0ubuntu1~cloud0 python-osprofiler_1.11.0-0ubuntu1~cloud0 python-paramiko_2.0.0-1~cloud0 python-paste_1.7.5.1-6ubuntu3 python-pastedeploy_1.5.2-1 python-pastedeploy-tpl_1.5.2-1 python-pbr_2.0.0-0ubuntu1 python-pecan_1.1.2-3fakesync2~cloud0 python-pika_0.10.0-1 python-pika-pool_0.1.3-1ubuntu1 python-pkg-resources_36.2.7-2~cloud0 python-positional_1.1.1-3~cloud0 python-posix-ipc_0.9.8-2build2 python-prettytable_0.7.2-3 python-psutil_3.4.2-1 python-psycopg2_2.6.1-1build2 python-pyasn1_0.1.9-1 python-pycadf_2.6.0-0ubuntu1~cloud0 python-pycodestyle_2.3.1-2~cloud0 python-pyflakes_1.1.0-2 python-pygments_2.2.0+dfsg-1~ubuntu16.04.1~ppa201704181404 python-pyinotify_0.9.6-0fakesync1 python-pymemcache_1.3.2-2ubuntu1 python-pymysql_0.7.11-1~cloud0 python-pyparsing_2.1.10+dfsg1-1~cloud0 python-redis_2.10.5-1ubuntu1 python-repoze.lru_0.6-6 python-requests_2.18.1-1~cloud0 python-requestsexceptions_1.1.2-0ubuntu1 python-retrying_1.3.3-1 python-rfc3986_0.3.1-2~cloud0 python-roman_2.0.0-2 python-routes_2.4.1-1~cloud0 python-sendfile_2.0.1-1build1 python-setuptools_36.2.7-2~cloud0 python-simplegeneric_0.8.1-1 python-simplejson_3.8.1-1ubuntu2 python-singledispatch_3.4.0.3-2 python-six_1.10.0-3 python-sphinx_1.5.6-2~cloud0 python-sphinxcontrib-pecanwsme_0.8.0-3 python-sphinxcontrib.httpdomain_1.3.0-1 python-sqlalchemy_1.1.9+ds1-0ubuntu3~cloud0 python-sqlparse_0.1.18-1 python-statsd_3.2.1-2~cloud0 python-stevedore_1:1.25.0-0ubuntu1~cloud0 python-subunit_1.1.0-3 python-swiftclient_1:3.4.0-0ubuntu1~cloud0 python-tempita_0.5.2-1build1 python-tenacity_3.3.0-0ubuntu1~cloud0 python-testrepository_0.0.20-2 python-testresources_1.0.0-1 python-testscenarios_0.4-4 python-testtools_1.8.1-0ubuntu1 python-tooz_1.58.0-0ubuntu1~cloud0 python-traceback2_1.4.0-3 python-tz_2014.10~dfsg1-0ubuntu2 python-unicodecsv_0.14.1-1 python-unittest2_1.1.0-6.1 python-urllib3_1.21.1-1~cloud0 python-vine_1.1.3+dfsg-2 python-voluptuous_0.9.3-1~cloud0 python-waitress_0.8.10-1 python-warlock_1.1.0-1 python-webob_1:1.7.2-0ubuntu1~ubuntu16.04.1~ppa201704191338 python-webtest_2.0.18-1ubuntu1 python-wrapt_1.8.0-5build2 python-wsme_0.8.0-2ubuntu2 python-yaml_3.12-1build2~cloud0 python-zake_0.1.6-1 python-zope.interface_4.1.3-1build1 python2.7_2.7.12-1ubuntu0~16.04.1 python2.7-minimal_2.7.12-1ubuntu0~16.04.1 python3_3.5.1-3 python3-chardet_3.0.4-1~cloud0 python3-debian_0.1.27ubuntu2 python3-extras_0.0.3-3 python3-fixtures_3.0.0-2~cloud0 python3-linecache2_1.0.0-2 python3-mimeparse_0.1.4-1build1 python3-minimal_3.5.1-3 python3-pbr_2.0.0-0ubuntu1 python3-pkg-resources_36.2.7-2~cloud0 python3-six_1.10.0-3 python3-subunit_1.1.0-3 python3-testrepository_0.0.20-2 python3-testtools_1.8.1-0ubuntu1 python3-traceback2_1.4.0-3 python3-unittest2_1.1.0-6.1 python3.5_3.5.2-2ubuntu0~16.04.3 python3.5-minimal_3.5.2-2ubuntu0~16.04.3 readline-common_6.3-8ubuntu2 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-ironic-dummy_0.invalid.0 sed_4.2.2-7 sensible-utils_0.0.9 sgml-base_1.26+nmu4ubuntu1 sphinx-common_1.5.6-2~cloud0 subunit_1.1.0-3 sudo_1.8.16-0ubuntu1.5 systemd_229-4ubuntu21 systemd-sysv_229-4ubuntu21 sysv-rc_2.88dsf-59.3ubuntu2 sysvinit-utils_2.88dsf-59.3ubuntu2 tar_1.28-2.1ubuntu0.1 testrepository_0.0.20-2 tzdata_2016j-0ubuntu0.16.04 ubuntu-keyring_2012.05.19 util-linux_2.27.1-6ubuntu3.3 xdelta_1.1.3-9.1ubuntu1 xml-core_0.13+nmu2 xz-utils_5.1.1alpha+20120614-2ubuntu2 zlib1g_1:1.2.8.dfsg-2ubuntu4.1 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Tue Oct 31 14:02:48 2017 UTC using RSA key ID 9935ACDC gpgv: Can't check signature: public key not found dpkg-source: warning: failed to verify signature on ./ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1.dsc dpkg-source: info: extracting ironic in ironic-9.1.2.dev19.201710311400.xenial dpkg-source: info: unpacking ironic_9.1.2.dev19.201710311400.xenial.orig.tar.gz dpkg-source: info: unpacking ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1.debian.tar.xz dpkg-source: info: applying drop-openstackdoctheme.patch dpkg-source: info: applying set_config_defaults.patch Check disc space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=noautodbgsym parallel=4 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LOGNAME=buildd PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=build-PACKAGEBUILD-13649185 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-13649185 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-13649185 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- dpkg-buildpackage: source package ironic dpkg-buildpackage: source version 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 dpkg-buildpackage: source distribution xenial dpkg-source --before-build ironic-9.1.2.dev19.201710311400.xenial dpkg-buildpackage: host architecture amd64 fakeroot debian/rules clean pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh clean --with python2,systemd dh_testdir dh_auto_clean pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions python setup.py clean -a /usr/lib/python2.7/dist-packages/setuptools/dist.py:350: UserWarning: The version specified ('9.1.2.dev19.201710311400.xenial') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running clean 'build/lib.linux-x86_64-2.7' does not exist -- can't clean it 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-2.7' does not exist -- can't clean it find . -name \*.pyc -exec rm {} \+ debian/rules override_dh_clean make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh_clean rm -f debian/*.init debian/*.service debian/*.upstart .testrepository make[1]: Leaving directory '/<>' debian/rules build pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh build --with python2,systemd dh_testdir dh_update_autotools_config dh_auto_configure dh_auto_build pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions python setup.py build --force /usr/lib/python2.7/dist-packages/setuptools/dist.py:350: UserWarning: The version specified ('9.1.2.dev19.201710311400.xenial') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/ironic creating build/lib.linux-x86_64-2.7/ironic/tests creating build/lib.linux-x86_64-2.7/ironic/tests/unit creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspector.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_console_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/functional creating build/lib.linux-x86_64-2.7/ironic/common creating build/lib.linux-x86_64-2.7/ironic/common/glance_service creating build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/image_service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2 creating build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1 copying ironic/common/glance_service/v1/image_service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1 copying ironic/common/glance_service/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1 copying ironic/tests/unit/drivers/test_drac.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_cisco.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_fake.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_snmp.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_generic.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_irmc.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_oneview.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_redfish.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_pxe.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ilo.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers creating build/lib.linux-x86_64-2.7/ironic/tests/unit/db creating build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_api.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_connectors.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_nodes.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_targets.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_ports.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_portgroups.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_deploy.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/version.py -> build/lib.linux-x86_64-2.7/ironic copying ironic/__init__.py -> build/lib.linux-x86_64-2.7/ironic creating build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_exception.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_raid.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_images.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common creating build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/fake.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/agent.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/oneview.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/pxe.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/ilo.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/irmc.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/cisco_ucs.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/snmp.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/drac.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/generic.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/redfish.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/base.py -> build/lib.linux-x86_64-2.7/ironic/drivers creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc creating build/lib.linux-x86_64-2.7/ironic/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/helper.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs creating build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_conductor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd creating build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/conductor.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/__init__.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/fields.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/volume_connector.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/chassis.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/port.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/portgroup.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/indirection.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/volume_target.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/node.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/notification.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/base.py -> build/lib.linux-x86_64-2.7/ironic/objects creating build/lib.linux-x86_64-2.7/ironic/tests/unit/api creating build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_expose.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_volume.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_ramdisk.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_volume_connectors.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_versions.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_nodes.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_drivers.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_types.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_volume_targets.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_ports.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_portgroups.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_root.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/common/image_service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/policy.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/rpc_service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/cinder.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/i18n.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/profiler.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/rpc.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/dhcp_factory.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/boot_devices.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/raid.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/hash_ring.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/keystone.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/network.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/config.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/release_mappings.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/neutron.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/fsm.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/wsgi_service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/driver_factory.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/utils.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/exception.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/images.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/pxe_utils.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/states.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/swift.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/context.py -> build/lib.linux-x86_64-2.7/ironic/common creating build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test__mgr_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_manager.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/mgr_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor creating build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/app.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/expose.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/hooks.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/config.py -> build/lib.linux-x86_64-2.7/ironic/api creating build/lib.linux-x86_64-2.7/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api/middleware copying ironic/api/middleware/auth_token.py -> build/lib.linux-x86_64-2.7/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib.linux-x86_64-2.7/ironic/api/middleware creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/common/glance_service/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service copying ironic/common/glance_service/base_image_service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service copying ironic/common/glance_service/service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_helper.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/boot.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc creating build/lib.linux-x86_64-2.7/ironic/api/controllers creating build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_connector.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/chassis.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/port.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/state.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/types.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/ramdisk.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/portgroup.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/collection.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/utils.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/driver.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo creating build/lib.linux-x86_64-2.7/ironic/db copying ironic/db/migration.py -> build/lib.linux-x86_64-2.7/ironic/db copying ironic/db/__init__.py -> build/lib.linux-x86_64-2.7/ironic/db copying ironic/db/api.py -> build/lib.linux-x86_64-2.7/ironic/db copying ironic/drivers/modules/image_cache.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/fake.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/agent.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/agent_base_vendor.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/pxe.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/inspector.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/iscsi_deploy.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/snmp.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conf creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage creating build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/tests/unit/api/test_base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_audit.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_acl.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_hooks.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_root.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api creating build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/none.py -> build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/base.py -> build/lib.linux-x86_64-2.7/ironic/dhcp creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/job.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/raid.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/api/controllers/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers creating build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/conductor.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/__init__.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/dbsync.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/api.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/tests/unit/stubs.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit copying ironic/tests/unit/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit creating build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/glance.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/opts.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/agent.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/conductor.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/__init__.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/cinder.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/audit.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/oneview.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/metrics.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/pxe.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/inspector.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/database.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/api.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/default.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/iscsi.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/console.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/keystone.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/ipmi.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/metrics_statsd.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/neutron.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/dhcp.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/ilo.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/irmc.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/service_catalog.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/snmp.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/cisco.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/auth.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/drac.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/swift.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/redfish.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/deploy.py -> build/lib.linux-x86_64-2.7/ironic/conf creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/deploy.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/boot.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/vendor.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo creating build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/__init__.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/manager.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/utils.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/conductor creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage creating build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_port.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_portgroup.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_target.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_node.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_objects.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_connector.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_fields.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_conductor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_notification.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/flat.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/tests/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests copying ironic/tests/base.py -> build/lib.linux-x86_64-2.7/ironic/tests creating build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api copying ironic_tempest_plugin/tests/api/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common copying ironic_tempest_plugin/common/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common copying ironic_tempest_plugin/common/waiters.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common copying ironic_tempest_plugin/common/utils.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services copying ironic_tempest_plugin/services/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone copying ironic_tempest_plugin/tests/scenario/ironic_standalone/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone copying ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone copying ironic_tempest_plugin/tests/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests copying ironic_tempest_plugin/plugin.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/manager.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/config.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/clients.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal copying ironic_tempest_plugin/services/baremetal/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal copying ironic_tempest_plugin/services/baremetal/base.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1 copying ironic_tempest_plugin/services/baremetal/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1 copying ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/baremetal_manager.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/api_microversion_fixture.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_volume_target.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_api_discovery.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_nodestates.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_volume_connector.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_nodes.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_drivers.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_ports.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_portgroups.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_ports_negative.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/base.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json copying ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json copying ironic_tempest_plugin/services/baremetal/v1/json/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json running egg_info writing requirements to ironic.egg-info/requires.txt writing ironic.egg-info/PKG-INFO writing top-level names to ironic.egg-info/top_level.txt writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt [pbr] Reusing existing SOURCES.txt copying ironic/tests/unit/drivers/boot.ipxe -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/elilo_efi_pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_volumes.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers creating build/lib.linux-x86_64-2.7/ironic/locale creating build/lib.linux-x86_64-2.7/ironic/locale/fr creating build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES copying ironic/locale/fr/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES copying ironic/locale/fr/LC_MESSAGES/ironic-log-info.po -> build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES creating build/lib.linux-x86_64-2.7/ironic/locale/ja creating build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES copying ironic/locale/ja/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES copying ironic/locale/ja/LC_MESSAGES/ironic.po -> build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES creating build/lib.linux-x86_64-2.7/ironic/locale/ko_KR creating build/lib.linux-x86_64-2.7/ironic/locale/ko_KR/LC_MESSAGES copying ironic/locale/ko_KR/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/ko_KR/LC_MESSAGES creating build/lib.linux-x86_64-2.7/ironic/locale/pt_BR creating build/lib.linux-x86_64-2.7/ironic/locale/pt_BR/LC_MESSAGES copying ironic/locale/pt_BR/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/pt_BR/LC_MESSAGES copying ironic/drivers/raid_config_schema.json -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/common/grub_conf.template -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/isolinux_config.template -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/api/app.wsgi -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/drivers/modules/agent_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/boot.ipxe -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/elilo_efi_pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/master_grub_cfg.txt -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/db/sqlalchemy/alembic.ini -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy creating build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/README -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/env.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic creating build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic_tempest_plugin/README.rst -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin debian/rules override_dh_auto_test make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' ostestr running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --list running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmpNIVG_A running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmpTmvRvX running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmpVBkXdS running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmpeUQhxx {1} ironic.tests.unit.api.test_base.TestVersion.test_equals [0.226001s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a {1} ironic.tests.unit.api.test_base.TestVersion.test_not_equals [0.019001s] ... ok {1} ironic.tests.unit.api.test_base.TestVersion.test_parse_headers_latest [0.020526s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.019094s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.024369s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.029206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6a55fd0d-64a3-439b-ba36-1ed2a0c363e6 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.024559s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-57cbb5c3-5c10-46dd-a736-dd0716f0b83e {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.024559s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5b7cf0e4-4d99-4ff0-9c3f-f84116d4dfae {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.030746s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.034707s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.202355s] ... ok {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.055152s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.141117s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e1f9c40-1404-479e-b5fc-5f5983bc42e2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.086303s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis?fields=uuid,extra {} GOT:{u'chassis': [{u'uuid': u'dca489e7-1f4f-42e8-98bb-1c3ff37ad111', u'links': [{u'href': u'http://localhost/v1/chassis/dca489e7-1f4f-42e8-98bb-1c3ff37ad111', u'rel': u'self'}, {u'href': u'http://localhost/chassis/dca489e7-1f4f-42e8-98bb-1c3ff37ad111', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'8fa5b986-205f-4e6b-a8ca-a12307bc6aa5', u'links': [{u'href': u'http://localhost/v1/chassis/8fa5b986-205f-4e6b-a8ca-a12307bc6aa5', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8fa5b986-205f-4e6b-a8ca-a12307bc6aa5', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'cc70c9af-19d0-43d5-bba0-5ae833f1ee7a', u'links': [{u'href': u'http://localhost/v1/chassis/cc70c9af-19d0-43d5-bba0-5ae833f1ee7a', u'rel': u'self'}, {u'href': u'http://localhost/chassis/cc70c9af-19d0-43d5-bba0-5ae833f1ee7a', u'rel': u'bookmark'}], u'extra': {}}]} {0} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.245402s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [0.069085s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-96423018-94dd-4f68-8a83-e6ef4da8db7c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "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"}], "id": "v1"} GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-00aa1427-c79d-4292-9edb-017c0c6d83d7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "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"}], "id": "v1"} {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.021944s] ... ok {0} ironic.tests.unit.api.test_base.TestVersion.test_init [0.023931s] ... ok {1} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.050374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-98cad3fd-98a7-4f3d-9a89-90924d5970dd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {0} ironic.tests.unit.api.test_base.TestVersion.test_parse_headers_ok [0.017864s] ... ok {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.020220s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.030238s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0a89a360-51d6-4ccc-818b-f84b8f21d687 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.029708s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75793ee8-8c36-4d15-865d-2857fd9dd07d {"error_message": "{\"debuginfo\": null, \"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)\"}"} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.027930s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a82ffef0-983c-4b79-9632-de139f4331d6 {"error_message": "{\"debuginfo\": null, \"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)\"}"} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.028861s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-69b09108-b05c-453c-a8a3-ce5d17b1b9f5 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n[u'\"}"} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.031501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d87af314-e29d-4f21-aeb9-beebbc1a7f3b {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.027355s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e92c3f52-9b8c-47d1-a282-efb655953b95 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.019752s] ... ok {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.020209s] ... ok {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.027077s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:{u'default_version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.34', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'description': u'Ironic is an OpenStack project which aims to provision baremetal machines.', u'name': u'OpenStack Ironic API', u'versions': [{u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.34', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}]} {0} ironic.tests.unit.api.v1.test_chassis.TestChassisObject.test_chassis_sample [0.010324s] ... ok {1} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_links_public_url [0.101931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141 {} GOT:{u'uuid': u'50bc7a56-5553-4b53-b9ed-f369da3bf141', u'links': [{u'href': u'http://foo/v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141', u'rel': u'self'}, {u'href': u'http://foo/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:07.423234+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141 {} GOT:{u'uuid': u'50bc7a56-5553-4b53-b9ed-f369da3bf141', u'links': [{u'href': u'http://foo/v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141', u'rel': u'self'}, {u'href': u'http://foo/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:07.423234+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141 {} GOT:{u'uuid': u'50bc7a56-5553-4b53-b9ed-f369da3bf141', u'links': [{u'href': u'http://foo/v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141', u'rel': u'self'}, {u'href': u'http://foo/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:07.423234+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/50bc7a56-5553-4b53-b9ed-f369da3bf141/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_detail [0.060934s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/detail {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:07.505851+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_empty [0.031649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': []} {1} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.076630s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a3479d6-b54c-402e-b59f-faceedc7a974 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/chassis?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-25b93caa-3932-47bb-a08a-b9ce0171edac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_many [0.049578s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'9c1933e4-0f28-49f7-872c-12e091d2d73f', u'links': [{u'href': u'http://localhost/v1/chassis/9c1933e4-0f28-49f7-872c-12e091d2d73f', u'rel': u'self'}, {u'href': u'http://localhost/chassis/9c1933e4-0f28-49f7-872c-12e091d2d73f', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'0c09a43b-05a8-446f-bfd2-6ce3bd0060d8', u'links': [{u'href': u'http://localhost/v1/chassis/0c09a43b-05a8-446f-bfd2-6ce3bd0060d8', u'rel': u'self'}, {u'href': u'http://localhost/chassis/0c09a43b-05a8-446f-bfd2-6ce3bd0060d8', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'809fd241-9887-4387-b2cf-dcb902ba8cf3', u'links': [{u'href': u'http://localhost/v1/chassis/809fd241-9887-4387-b2cf-dcb902ba8cf3', u'rel': u'self'}, {u'href': u'http://localhost/chassis/809fd241-9887-4387-b2cf-dcb902ba8cf3', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'3b9c3210-9f50-421e-a58d-ab444957ad7e', u'links': [{u'href': u'http://localhost/v1/chassis/3b9c3210-9f50-421e-a58d-ab444957ad7e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/3b9c3210-9f50-421e-a58d-ab444957ad7e', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'8aebd498-5708-4419-8558-a775993cfccf', u'links': [{u'href': u'http://localhost/v1/chassis/8aebd498-5708-4419-8558-a775993cfccf', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8aebd498-5708-4419-8558-a775993cfccf', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.029987s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d5089288-599b-4ec2-8b75-19a6326677d5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.073410s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-501d2a05-619d-42fb-a176-177f96834f14 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_add_multi [0.062613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec5b199e-e06a-4abb-8204-000d6a2f8f01 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2"}, "created_at": "2017-10-31T14:12:07.656921+00:00", "updated_at": "2017-10-31T14:12:07.677516+00:00", "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"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'bar2'}, u'created_at': u'2017-10-31T14:12:07.656921+00:00', u'updated_at': u'2017-10-31T14:12:07.677516+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {1} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.083697s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-302ff665-f8d7-447a-81d7-bef738d0ff40 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {0} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_singular [0.070725s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2582759-e1d1-4957-ac87-e196f9f66605 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "901f4f86-ef45-4f27-b314-cf91d6b31441", "links": [{"href": "http://localhost/v1/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441", "rel": "self"}, {"href": "http://localhost/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441", "rel": "bookmark"}], "extra": {"a": "b"}, "created_at": "2017-10-31T14:12:07.729967+00:00", "updated_at": "2017-10-31T14:12:07.749865+00:00", "nodes": [{"href": "http://localhost/v1/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441/nodes", "rel": "self"}, {"href": "http://localhost/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441/nodes", "rel": "bookmark"}], "description": null} GET: /v1/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441 {} GOT:{u'uuid': u'901f4f86-ef45-4f27-b314-cf91d6b31441', u'links': [{u'href': u'http://localhost/v1/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441', u'rel': u'self'}, {u'href': u'http://localhost/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441', u'rel': u'bookmark'}], u'extra': {u'a': u'b'}, u'created_at': u'2017-10-31T14:12:07.729967+00:00', u'updated_at': u'2017-10-31T14:12:07.749865+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/901f4f86-ef45-4f27-b314-cf91d6b31441/nodes', u'rel': u'bookmark'}], u'description': None} {1} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_update_error [0.077459s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-057199a2-8627-40c1-807a-c5341fd27da6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {2} ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header [0.550004s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f7ff8412-8c8a-4fca-93ea-c1b7db51ab35 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {0} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_replace_singular [0.107054s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c3991d47-71e2-4e41-a0d7-c2d9ce8c7fcb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:07.795640+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "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"}], "description": "chassis-new-description"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:07.795640+00:00', u'updated_at': u'2000-01-01T00:00:00+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'chassis-new-description'} {1} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_update_not_found [0.071959s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/4b59cd2a-f099-4136-b8c3-a1049507aeec [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f08ba673-ef83-4007-ae86-8b2b37000ba3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 4b59cd2a-f099-4136-b8c3-a1049507aeec could not be found.\"}"} {3} ironic.tests.unit.api.test_acl.TestACL.test_non_admin [0.482599s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1aee0d63-1e92-4a04-a51e-944ab0e8e710 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.052559s] ... ok {3} ironic.tests.unit.api.test_acl.TestACL.test_non_authenticated [0.046428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Keystone uri='https://127.0.0.1:35357' {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}} {2} ironic.tests.unit.api.test_base.TestVersion.test_parse_headers_bad_length [0.028884s] ... ok {0} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_error [0.061667s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c3887d80-06f0-4df2-b5d4-4ee75e91d315 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.031395s] ... ok {3} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.071800s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de481008-5589-4404-a912-d92a9b081172 {"default_version": {"status": "CURRENT", "min_version": "1.1", "version": "1.34", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "versions": [{"status": "CURRENT", "min_version": "1.1", "version": "1.34", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}], "name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines."} GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c03039a-defd-45fb-9eaf-08fcfb5bfe39 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "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"}], "id": "v1"} {0} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.046717s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 1334, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-407eadf4-8605-4b81-b159-1d815a48ca2b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: '1334'. Value should be string\"}"} {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.023683s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.059186s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.test_base.TestBase.test_api_setup [0.019863s] ... ok {0} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_cached [0.057906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} {3} ironic.tests.unit.api.test_base.TestBase.test_bad_uri [0.023626s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.161176s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/77120559-1fac-4d7d-a27a-61ee7f54cc5c Openstack-Request-Id: req-a151c6e6-7fcc-424b-9bec-dcf9e3b6b25b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "77120559-1fac-4d7d-a27a-61ee7f54cc5c", "links": [{"href": "http://localhost/v1/chassis/77120559-1fac-4d7d-a27a-61ee7f54cc5c", "rel": "self"}, {"href": "http://localhost/chassis/77120559-1fac-4d7d-a27a-61ee7f54cc5c", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:08.006698+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/77120559-1fac-4d7d-a27a-61ee7f54cc5c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/77120559-1fac-4d7d-a27a-61ee7f54cc5c/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'77120559-1fac-4d7d-a27a-61ee7f54cc5c', u'links': [{u'href': u'http://localhost/v1/chassis/77120559-1fac-4d7d-a27a-61ee7f54cc5c', u'rel': u'self'}, {u'href': u'http://localhost/chassis/77120559-1fac-4d7d-a27a-61ee7f54cc5c', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {3} ironic.tests.unit.api.test_base.TestVersion.test_greaterthan [0.020175s] ... ok {3} ironic.tests.unit.api.test_base.TestVersion.test_lessthan [0.020482s] ... ok {3} ironic.tests.unit.api.test_base.TestVersion.test_parse_no_header [0.018321s] ... ok {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_async [0.071145s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-f707fc67-5faf-4e7e-b2a5-dda3e078f44e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.092969s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-bb776f86-fbb8-4264-b437-659ae60104a9 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {3} ironic.tests.unit.api.test_base.TestVersion.test_repr [0.025608s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.034043s] ... ok {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.050350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-afa63ea8-2a76-4db1-9d00-0d83f5666656 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The driver 'fake-driver1' is unknown.\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.119032s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': u'\u0430\u043c\u043e', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-9544fb48-4c7b-4436-8275-6490de08bfce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:08.152271+00:00", "updated_at": null, "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"}], "description": "\u0430\u043c\u043e"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:08.152271+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'\u0430\u043c\u043e'} {3} ironic.tests.unit.api.test_base.TestVersion.test_repr_with_strings [0.044521s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.042901s] ... ok {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.077455s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'portgroups': [{u'href': u'http://localhost/v1/portgroups/', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_methods [0.072476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GOT:{u'foo': u'bar'} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.073193s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_put [0.062601s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-7ed68979-1983-40df-8491-6d4b5a7eab0b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.075281s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a443dafe-fc95-4c2e-a511-7859d75b71b6 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.063895s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_chassis.TestChassisObject.test_chassis_init [0.022146s] ... ok {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_detail_bad_version_false [0.034793s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0d2f5b92-b545-4927-b259-f6e2d3833d73 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_sync [0.094949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ed3ac5d8-5772-4789-aa07-37e796787170 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.041943s] ... ok {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_not_found [0.043025s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6cc11603-1ecc-4f2c-983c-17ba505ba843 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driver1.\"}"} {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.034799s] ... ok {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_no_active_conductor [0.051259s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers {} GOT:{u'drivers': []} {3} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.025105s] ... ok {2} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.085923s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/4e978cc9-4c59-479d-8cf9-fb2ea5a46a68 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cfce7317-da04-4bbd-bc76-2492c3f50d91 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 4e978cc9-4c59-479d-8cf9-fb2ea5a46a68 could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_bad_value [0.039903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a430ebd-f97f-42ac-89a5-da8231b9d2c7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\"}"} {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.038920s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'portgroups': [{u'href': u'http://localhost/v1/portgroups/', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/', u'rel': u'bookmark'}], u'id': u'v1', u'volume': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_detail_against_single [0.051234s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f5f73a05-7673-47ab-aa36-44103bd0cf59 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_classic [0.062293s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=classic {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'classic', u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'classic', u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]}]} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.046862s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5fe122ad-1578-4f98-981c-2f354e2f5193 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_ok_classic [0.149034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1/properties {} GOT:{} GET: /drivers/fake-driver1/properties {} GOT:{} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_one [0.064700s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:08.557578+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {3} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_chassis [0.156726s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-a2e02a03-410d-4d28-b4fe-fa308e3a5cd1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6572c511-ad3b-43e3-836d-f10820e5ec19 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.078506s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description {} GOT:{u'description': u'data-center-1-chassis', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}} {3} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.072395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-30de588b-900a-46bf-b5f8-c4c5144d122a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_links [0.092403s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618 {} GOT:{u'uuid': u'd70c0546-e4ea-44ff-9aa9-928df54ef618', u'links': [{u'href': u'http://localhost/v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:08.716742+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618 {} GOT:{u'uuid': u'd70c0546-e4ea-44ff-9aa9-928df54ef618', u'links': [{u'href': u'http://localhost/v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:08.716742+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618 {} GOT:{u'uuid': u'd70c0546-e4ea-44ff-9aa9-928df54ef618', u'links': [{u'href': u'http://localhost/v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:08.716742+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d70c0546-e4ea-44ff-9aa9-928df54ef618/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_with_dynamic [0.271903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'classic', u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'classic', u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_collection_links [0.099943s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/?limit=3 {} GOT:{u'chassis': [{u'uuid': u'26d9064b-cca1-4299-bfbb-b7ae13e6bda1', u'links': [{u'href': u'http://localhost/v1/chassis/26d9064b-cca1-4299-bfbb-b7ae13e6bda1', u'rel': u'self'}, {u'href': u'http://localhost/chassis/26d9064b-cca1-4299-bfbb-b7ae13e6bda1', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'fb9c5a4e-e76c-42f0-bf67-800c53d98a0d', u'links': [{u'href': u'http://localhost/v1/chassis/fb9c5a4e-e76c-42f0-bf67-800c53d98a0d', u'rel': u'self'}, {u'href': u'http://localhost/chassis/fb9c5a4e-e76c-42f0-bf67-800c53d98a0d', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'764743d8-4015-4644-a13f-2d7589367f38', u'links': [{u'href': u'http://localhost/v1/chassis/764743d8-4015-4644-a13f-2d7589367f38', u'rel': u'self'}, {u'href': u'http://localhost/chassis/764743d8-4015-4644-a13f-2d7589367f38', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}], u'next': u'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&limit=3&marker=764743d8-4015-4644-a13f-2d7589367f38'} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.058573s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:08.810154+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_bad_version [0.326389s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d0ada36b-d954-4dae-8b05-bbd0a4fafac9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_one [0.051336s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.096861s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'9c8fa794-6a28-44ab-a112-e8f3648db934', u'links': [{u'href': u'http://localhost/v1/chassis/9c8fa794-6a28-44ab-a112-e8f3648db934', u'rel': u'self'}, {u'href': u'http://localhost/chassis/9c8fa794-6a28-44ab-a112-e8f3648db934', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'1e328ab5-ec77-4476-84d2-78eefbc3fd63', u'links': [{u'href': u'http://localhost/v1/chassis/1e328ab5-ec77-4476-84d2-78eefbc3fd63', u'rel': u'self'}, {u'href': u'http://localhost/chassis/1e328ab5-ec77-4476-84d2-78eefbc3fd63', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'd90c51bb-dd89-48dc-a4e1-a6c10176e710', u'links': [{u'href': u'http://localhost/v1/chassis/d90c51bb-dd89-48dc-a4e1-a6c10176e710', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d90c51bb-dd89-48dc-a4e1-a6c10176e710', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}], u'next': u'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&limit=3&marker=d90c51bb-dd89-48dc-a4e1-a6c10176e710'} {2} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_add_root_non_existent [0.053753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d77ba388-1c16-4503-b6f6-78795fa98f15 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_links_public_url [0.117939s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_multi [0.096301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8b13cd2-6c46-44ae-ab20-fc9a5e5d65d7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d6d9cd69-be47-4313-b3d6-35255f1eafaf", "links": [{"href": "http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf", "rel": "self"}, {"href": "http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:08.962128+00:00", "updated_at": "2017-10-31T14:12:08.983013+00:00", "nodes": [{"href": "http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf {} GOT:{u'uuid': u'd6d9cd69-be47-4313-b3d6-35255f1eafaf', u'links': [{u'href': u'http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo3': u'bar3'}, u'created_at': u'2017-10-31T14:12:08.962128+00:00', u'updated_at': u'2017-10-31T14:12:08.983013+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} PATCH: /v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4b75e01-82da-46f8-b709-0c45134d93df X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d6d9cd69-be47-4313-b3d6-35255f1eafaf", "links": [{"href": "http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf", "rel": "self"}, {"href": "http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:08.962128+00:00", "updated_at": "2017-10-31T14:12:09.017901+00:00", "nodes": [{"href": "http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf {} GOT:{u'uuid': u'd6d9cd69-be47-4313-b3d6-35255f1eafaf', u'links': [{u'href': u'http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:08.962128+00:00', u'updated_at': u'2017-10-31T14:12:09.017901+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d6d9cd69-be47-4313-b3d6-35255f1eafaf/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties_cached [0.074861s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} {2} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_replace_multi [0.060020s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4055274c-9e97-4a9b-a8d7-9feeb8066c9b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5986e127-3d8e-40cc-bac7-3a5ecdecfa99", "links": [{"href": "http://localhost/v1/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99", "rel": "self"}, {"href": "http://localhost/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:09.058612+00:00", "updated_at": "2017-10-31T14:12:09.078616+00:00", "nodes": [{"href": "http://localhost/v1/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99/nodes", "rel": "self"}, {"href": "http://localhost/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99 {} GOT:{u'uuid': u'5986e127-3d8e-40cc-bac7-3a5ecdecfa99', u'links': [{u'href': u'http://localhost/v1/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'new value', u'foo3': u'bar3'}, u'created_at': u'2017-10-31T14:12:09.058612+00:00', u'updated_at': u'2017-10-31T14:12:09.078616+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5986e127-3d8e-40cc-bac7-3a5ecdecfa99/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chasis_api_policy [0.049809s] ... ok {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource [0.242002s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8b0f6811-eead-4f64-a3db-0895439a57fa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8b0f6811-eead-4f64-a3db-0895439a57fa', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8b0f6811-eead-4f64-a3db-0895439a57fa'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e48d7483-49b2-4a58-9457-9d8968884b9c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e48d7483-49b2-4a58-9457-9d8968884b9c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e48d7483-49b2-4a58-9457-9d8968884b9c'}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8b0f6811-eead-4f64-a3db-0895439a57fa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8b0f6811-eead-4f64-a3db-0895439a57fa', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8b0f6811-eead-4f64-a3db-0895439a57fa'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=1&marker=8b0f6811-eead-4f64-a3db-0895439a57fa'} {2} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis [0.064556s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-81ad836d-b7dd-4412-9e1d-9c75184fae57 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "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"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_by_node_name [0.052146s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/node-39/vifs {'id': '815a3fbb-9e35-4bf9-bc95-77879e79644d'} GOT:Response: 204 No Content Openstack-Request-Id: req-947da9b5-e87d-446c-9229-71564a1e2163 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.036700s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dee832c8-551a-4bd4-980e-3d988a4aeb5b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_no_vif_id [0.043588s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': 'ef387525-b414-428b-8430-1b71de988d9d'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-07a60423-87b0-4d9c-adf1-3fee337234b6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: id\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_sort_key [0.049657s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis?sort_key=uuid {} GOT:{u'chassis': [{u'uuid': u'4505c53e-aadb-461a-8c53-22661f78274f', u'links': [{u'href': u'http://localhost/v1/chassis/4505c53e-aadb-461a-8c53-22661f78274f', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4505c53e-aadb-461a-8c53-22661f78274f', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'a96f207d-edb8-4618-8035-2c8aabffb3cd', u'links': [{u'href': u'http://localhost/v1/chassis/a96f207d-edb8-4618-8035-2c8aabffb3cd', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a96f207d-edb8-4618-8035-2c8aabffb3cd', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'f10fa8c4-df78-477a-88dd-59dfee3b0b40', u'links': [{u'href': u'http://localhost/v1/chassis/f10fa8c4-df78-477a-88dd-59dfee3b0b40', u'rel': u'self'}, {u'href': u'http://localhost/chassis/f10fa8c4-df78-477a-88dd-59dfee3b0b40', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {2} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.075008s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-4120e317-a75f-4a17-887c-c70e83be090d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:12:09.208450+00:00", "updated_at": null, "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"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:12:09.208450+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_node_locked [0.049680s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '7f0b4dc0-edc6-48d4-a3e1-91bca86d2fb0'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5c6fcfd4-b9ea-4090-a993-01597697fbde X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_add_root [0.060330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'test', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-349387c5-b24c-4f8f-9017-938f907f5385 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:09.244334+00:00", "updated_at": "2017-10-31T14:12:09.268807+00:00", "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"}], "description": "test"} {2} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_fake [0.044299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.500625s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'enabled_storage_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}], u'name': u'fake-driver2', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1', u'fake-host2']}, {u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'enabled_storage_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']}, {u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_node_not_found [0.060962s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/doesntexist/vifs {'id': 'fb688df0-f168-4880-8d72-4ada3c5213bb'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-be0f1630-6dfc-41fa-a1f4-3d922ff69334 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_uuid [0.039939s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3fc7147e-5239-4785-8fe3-48cd11a244fc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {1} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.033439s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_not_list [0.020745s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.017061s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.049447s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'invalid%id^'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a99f4323-d00a-4784-ab7c-240d01b23aa8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a logical name or UUID but received invalid%id^.\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.058151s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'foo': 123}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-17e95330-f6c4-403c-aaab-bcc5c92b1732 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:12:09.357860+00:00", "updated_at": null, "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"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:12:09.357860+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_delete [0.091907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/drivers/fake-driver1/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-65067d01-fe12-4abf-acd8-7f52ff600033 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.035751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84c12e3a-3d25-4dd0-b342-a0d4e6938bac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'. Value should have a maximum character requirement of 255\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_maintenance_mode [0.061035s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-57930bb0-08b0-4d0c-b738-6ff7a64b0b87 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach [0.060007s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/75600129-0325-4c26-aa76-948d134ef434 GOT:Response: 204 No Content Openstack-Request-Id: req-a1a030db-88a5-43e4-a528-df148a3e6c31 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_get [0.070354s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/vendor_passthru/do_test {} GOT:foo {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_not_found_by_name [0.041049s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa1db106-31f5-4825-a5b5-a32d698b2733 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestPost.test_post_nodes_subresource [0.050805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2fbf1bf4-5e66-4fac-8ce5-cd03c215b912 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_detail_bad_version [0.044557s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-335cd409-dcab-41ec-8bab-3d3b098ec27b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_list [0.057048s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{u'vifs': []} {3} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_cannot_load [0.035053s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3cba2f7c-7c2d-42bb-8347-db0357ecabe7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_ports_subresource [0.061727s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-21ce00e0-6f69-4a45-9b14-7230b217e07e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.026357s] ... ok {3} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_hw_type [0.043693s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} {1} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.021929s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.046602s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3ee5c52-47c9-4597-85a7-c5e465592f49 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.019909s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_volume_targets_subresource [0.050734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7a475416-c360-4503-87a1-eaa220e96e12 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_ok_dynamic [0.131025s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-hardware-type {} GOT:{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} {1} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_associated [0.066213s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ad5af133-850c-4908-a088-144c2160cb87 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_portgroup_subresource [0.054949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6f71787c-e251-439f-a9ad-689ed97be074 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_associated_nodes_error [0.115384s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d05edbe-ba4e-47ee-9407-fa239fa4332a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute associated. Value: 'blah'. unable to convert to boolean\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_ok_dynamic_storage_interface [0.117549s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-hardware-type {} GOT:{u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} {3} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_invalid_driver_name [0.222348s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ffb5d9be-54c6-4551-b0bc-858264ced433 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_against_single [0.053582s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ceef75e-8a0e-41b8-a715-e3f067d697bb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_dynamic [0.062310s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=dynamic {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}]} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_type_hidden_in_lower_version [0.058341s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.029993s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru {'test_key': 'test_value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7044514-ef98-46be-bafc-6aa35e1ef1f0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_sort_key_allowed [0.150711s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?sort_key=resource_class {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/cd68452a-e4b6-4db2-b021-d36815d8c466', u'rel': u'self'}, {u'href': u'http://localhost/nodes/cd68452a-e4b6-4db2-b021-d36815d8c466', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/cd68452a-e4b6-4db2-b021-d36815d8c466/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/cd68452a-e4b6-4db2-b021-d36815d8c466/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'cd68452a-e4b6-4db2-b021-d36815d8c466', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_1', u'created_at': u'2017-10-31T14:12:09.845205+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/cd68452a-e4b6-4db2-b021-d36815d8c466/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/cd68452a-e4b6-4db2-b021-d36815d8c466/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/9e369052-656c-4a88-ab6f-bb536588c1aa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9e369052-656c-4a88-ab6f-bb536588c1aa', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/9e369052-656c-4a88-ab6f-bb536588c1aa/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9e369052-656c-4a88-ab6f-bb536588c1aa/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'9e369052-656c-4a88-ab6f-bb536588c1aa', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_2', u'created_at': u'2017-10-31T14:12:09.838212+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/9e369052-656c-4a88-ab6f-bb536588c1aa/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9e369052-656c-4a88-ab6f-bb536588c1aa/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/04b3a363-22cc-4c80-b4eb-e3ecb84ad591', u'rel': u'self'}, {u'href': u'http://localhost/nodes/04b3a363-22cc-4c80-b4eb-e3ecb84ad591', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/04b3a363-22cc-4c80-b4eb-e3ecb84ad591/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/04b3a363-22cc-4c80-b4eb-e3ecb84ad591/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'04b3a363-22cc-4c80-b4eb-e3ecb84ad591', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_3', u'created_at': u'2017-10-31T14:12:09.827802+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/04b3a363-22cc-4c80-b4eb-e3ecb84ad591/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/04b3a363-22cc-4c80-b4eb-e3ecb84ad591/ports', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_boot_device [0.069042s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers [0.158235s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_associated_nodes_insensitive [0.340735s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=true {} GOT:{u'nodes': [{u'instance_uuid': u'db737a1b-78cc-4a1a-b314-d23bcdcccb35', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a490c82c-fe8b-4e01-8be2-0544922ee072', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a490c82c-fe8b-4e01-8be2-0544922ee072', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a490c82c-fe8b-4e01-8be2-0544922ee072'}, {u'instance_uuid': u'a58ea44b-88a5-45dc-8e75-9898e3910564', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/693193e4-2118-45a2-a7ec-8f413a588673', u'rel': u'self'}, {u'href': u'http://localhost/nodes/693193e4-2118-45a2-a7ec-8f413a588673', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'693193e4-2118-45a2-a7ec-8f413a588673'}, {u'instance_uuid': u'e8295fe1-e433-4cc3-bb23-b6284c290f7a', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/26e380da-582a-4d91-98ee-a7e45fca4ddf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/26e380da-582a-4d91-98ee-a7e45fca4ddf', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'26e380da-582a-4d91-98ee-a7e45fca4ddf'}, {u'instance_uuid': u'e6152213-2388-4af6-926d-d96f414c5d90', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/55834db6-0eac-425d-a6e1-a97064a5514a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/55834db6-0eac-425d-a6e1-a97064a5514a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'55834db6-0eac-425d-a6e1-a97064a5514a'}]} GET: /v1/nodes?associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'db737a1b-78cc-4a1a-b314-d23bcdcccb35', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a490c82c-fe8b-4e01-8be2-0544922ee072', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a490c82c-fe8b-4e01-8be2-0544922ee072', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a490c82c-fe8b-4e01-8be2-0544922ee072'}, {u'instance_uuid': u'a58ea44b-88a5-45dc-8e75-9898e3910564', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/693193e4-2118-45a2-a7ec-8f413a588673', u'rel': u'self'}, {u'href': u'http://localhost/nodes/693193e4-2118-45a2-a7ec-8f413a588673', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'693193e4-2118-45a2-a7ec-8f413a588673'}, {u'instance_uuid': u'e8295fe1-e433-4cc3-bb23-b6284c290f7a', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/26e380da-582a-4d91-98ee-a7e45fca4ddf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/26e380da-582a-4d91-98ee-a7e45fca4ddf', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'26e380da-582a-4d91-98ee-a7e45fca4ddf'}, {u'instance_uuid': u'e6152213-2388-4af6-926d-d96f414c5d90', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/55834db6-0eac-425d-a6e1-a97064a5514a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/55834db6-0eac-425d-a6e1-a97064a5514a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'55834db6-0eac-425d-a6e1-a97064a5514a'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_boot_device_by_name [0.075542s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/spam/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_links [0.097702s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail [0.104897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:10.079804+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties_older_version [0.044728s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6d3391e6-df60-4e78-b6d2-a030fef574d5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_boot_device_iface_not_supported [0.081580s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f6e4dd4e-f3a9-4680-851f-dde4bb20555e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {3} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.041266s] ... ok {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_with_dynamic_detailed [0.406313s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}], u'name': u'fake-driver2', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1', u'fake-host2']}, {u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']}, {u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_empty [0.078758s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': []} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information_by_name [0.070951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/spam/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {3} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.065390s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.049304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ 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 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a3a40aaf-7347-4c3e-923c-4bd68055ccc3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties [0.069900s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_custom_fields_invalid_fields [0.069297s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c7a9440c-ef5b-4eb7-a901-79e86d21a809 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.044887s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/node-39/vifs {'id': '52ea22fc-9aab-4272-84dd-8f9e02d38847'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71a4b7b0-64eb-4cac-9cb4-00258499a6d9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"boom\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.018208s] ... ok {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.058425s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26714138-811c-461b-b634-709d7e584c2d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support raid (disabled or not implemented).\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.016731s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_provision_state [0.046611s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-016e4064-9d67-4a1a-85e4-27e4714cfe74 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_valid [0.020335s] ... ok {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node [0.049304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-f92a6455-fc9a-404f-8165-b82fb4cfc908 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_storage_interface_fields [0.079648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:{u'storage_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_collection_custom_fields [0.168652s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?fields=uuid,instance_info {} GOT:{u'nodes': [{u'uuid': u'54f3aa2c-933c-4d86-9cee-8cebfeb4361f', u'links': [{u'href': u'http://localhost/v1/nodes/54f3aa2c-933c-4d86-9cee-8cebfeb4361f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/54f3aa2c-933c-4d86-9cee-8cebfeb4361f', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'e07b7ec8-7b2b-436a-ac8c-f99319a9e547', u'links': [{u'href': u'http://localhost/v1/nodes/e07b7ec8-7b2b-436a-ac8c-f99319a9e547', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e07b7ec8-7b2b-436a-ac8c-f99319a9e547', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'f0b9484e-4339-43ef-a207-4de8b28b4681', u'links': [{u'href': u'http://localhost/v1/nodes/f0b9484e-4339-43ef-a207-4de8b28b4681', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f0b9484e-4339-43ef-a207-4de8b28b4681', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_by_name [0.056512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 204 No Content Openstack-Request-Id: req-6b5640e7-5aed-49bb-90e0-88ea72c8cdae X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.136944s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.053543s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-31737600-2eca-4fdb-9dd5-fc54a379cabc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_custom_fields_invalid_api_version [0.050468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-43e15a4d-15e5-4754-b205-dba7b921a382 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_by_name_unsupported [0.043718s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a909f69e-e5e5-40cf-9c56-5d7782f35b5e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_supported_boot_devices_by_name [0.057787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {2} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.097477s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.085887s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5fdf0d2f-d2e2-4571-92ce-6f42ebe6346b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_ports_subresource_no_port_id [0.074741s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f4b3f341-db52-41ae-a55c-8e6cfa37bb77 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.056830s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a6d82781-68f0-4403-bddc-37a753ee9fca X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach [0.104100s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '44255d24-8384-45c4-953c-1c7cf6388d9e'} GOT:Response: 204 No Content Openstack-Request-Id: req-94b45a94-92ef-496f-afd8-b95c9f071b2b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_driver [0.076298s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?driver=test {} GOT:{u'nodes': []} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.191205s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:10.635127+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {u'foo': u'bar'}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:10.635127+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach_by_node_name [0.063102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/node-39/vifs/d6f9cb5d-26c5-4c0c-9fc7-bcbb4026b114 GOT:Response: 204 No Content Openstack-Request-Id: req-0fcb6a4c-3e47-4761-ac70-88c31a897eac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_collection_links_default_limit [0.171015s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/31b0b520-bc33-4be8-a18b-ba432aa21a08', u'rel': u'self'}, {u'href': u'http://localhost/nodes/31b0b520-bc33-4be8-a18b-ba432aa21a08', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'31b0b520-bc33-4be8-a18b-ba432aa21a08'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8bfabd3e-818d-433a-84df-d44189fe520c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8bfabd3e-818d-433a-84df-d44189fe520c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8bfabd3e-818d-433a-84df-d44189fe520c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f37bfbc6-2e7d-48c6-8367-abadfb718c0f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f37bfbc6-2e7d-48c6-8367-abadfb718c0f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f37bfbc6-2e7d-48c6-8367-abadfb718c0f'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=f37bfbc6-2e7d-48c6-8367-abadfb718c0f'} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach_node_locked [0.044808s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/bade8659-a3ca-495d-920f-b55d8e027419 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fb5626b2-cd6e-4d1c-ab91-83744565f0a8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_resource_class [0.073350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?resource_class=test {} GOT:{u'nodes': []} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_sort_key_not_allowed [0.037458s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-282e7f8f-64b4-4fd7-ab12-0c9f9b181147 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.032583s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1ff37f68-2f7e-4b58-aeb3-2f8c0f18f654 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information_console_disabled [0.054724s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': False, u'console_info': None} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach_node_not_found [0.068217s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/doesntexist/vifs/6c2270c9-d5b3-4249-b8ac-63c48c82eab8 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-898f090d-da7b-414c-bc1e-e58e8a79a5ea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.048095s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e3def51b-996b-4e28-ac02-d45c5520691d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_subcontroller_old_version [0.035308s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information_not_supported [0.059639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab7aaa6c-db80-4d60-a987-f3a49e144d8f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.024362s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.043002s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c3391cdf-f325-400c-8268-2f2b739bb38c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.019355s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.219114s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:10.791821+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2017-10-31T14:12:10.791821+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_network_interface_fields [0.085357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:{u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'network_interface': None} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_maintenance_mode_by_name [0.056309s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-fff6b188-ee57-41c6-99ef-0f225a2f2fd1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_one [0.074488s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:10.973492+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_not_found [0.041394s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-70456e64-e7bb-4e4f-b097-21f7655608c6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_one_custom_fields [0.070161s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} GOT:{u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_volume [0.133178s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:11.000367+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:11.000367+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_not_found_by_name_unsupported [0.043337s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df2809a0-28f1-4ef3-a382-70f308e44cc5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_supported_boot_devices [0.054769s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_volume_connectors_subresource [0.055334s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6cfb94d2-d4d5-4cd3-862e-799cb416528b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_driver [0.187938s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?driver=pxe_ipmitool {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6ba02855-41c2-422f-939c-46e6caffa9d0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6ba02855-41c2-422f-939c-46e6caffa9d0', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'6ba02855-41c2-422f-939c-46e6caffa9d0'}]} GET: /v1/nodes?driver=fake {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e08d776f-5267-41ab-900f-978d657a072e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e08d776f-5267-41ab-900f-978d657a072e', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'e08d776f-5267-41ab-900f-978d657a072e'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.110877s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.180262+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': u'2015-03-18T19:20:00+00:00', u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.180262+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_links_public_url [0.167466s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48', u'rel': u'self'}, {u'href': u'http://foo/nodes/d3452908-151b-4add-bd1b-6257a1b05b48', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'd3452908-151b-4add-bd1b-6257a1b05b48', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.137022+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/d3452908-151b-4add-bd1b-6257a1b05b48/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48', u'rel': u'self'}, {u'href': u'http://foo/nodes/d3452908-151b-4add-bd1b-6257a1b05b48', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'd3452908-151b-4add-bd1b-6257a1b05b48', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.137022+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/d3452908-151b-4add-bd1b-6257a1b05b48/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /nodes/d3452908-151b-4add-bd1b-6257a1b05b48 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48', u'rel': u'self'}, {u'href': u'http://foo/nodes/d3452908-151b-4add-bd1b-6257a1b05b48', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'd3452908-151b-4add-bd1b-6257a1b05b48', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.137022+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/d3452908-151b-4add-bd1b-6257a1b05b48/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/d3452908-151b-4add-bd1b-6257a1b05b48/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.092473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?resource_class=test {} GOT:{u'nodes': []} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_collection_links [0.186245s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/?limit=3 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c7d6aa3c-eefa-4b83-a4f7-8f6c83777eb1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c7d6aa3c-eefa-4b83-a4f7-8f6c83777eb1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c7d6aa3c-eefa-4b83-a4f7-8f6c83777eb1'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4d70d593-1ca8-4078-8591-ffa60e855bbd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4d70d593-1ca8-4078-8591-ffa60e855bbd', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4d70d593-1ca8-4078-8591-ffa60e855bbd'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f72ad069-bfa7-42ce-9be4-8a6b36698079', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f72ad069-bfa7-42ce-9be4-8a6b36698079', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f72ad069-bfa7-42ce-9be4-8a6b36698079'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=f72ad069-bfa7-42ce-9be4-8a6b36698079'} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_links [0.142996s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.297525+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.297525+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.297525+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eb7fd20e-d8ea-4d94-82e1-3623eab5b6d0/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_many [0.195385s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/fc1b65a9-9ff9-4955-8c81-1a605d0aee39', u'rel': u'self'}, {u'href': u'http://localhost/nodes/fc1b65a9-9ff9-4955-8c81-1a605d0aee39', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'fc1b65a9-9ff9-4955-8c81-1a605d0aee39'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/34022273-b8a5-4405-b163-fdd5f6ff98fb', u'rel': u'self'}, {u'href': u'http://localhost/nodes/34022273-b8a5-4405-b163-fdd5f6ff98fb', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'34022273-b8a5-4405-b163-fdd5f6ff98fb'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c85c4500-ae33-4e32-afed-b9755075c147', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c85c4500-ae33-4e32-afed-b9755075c147', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c85c4500-ae33-4e32-afed-b9755075c147'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/25b081b9-ef01-4bee-b411-4ad5aff73cf3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/25b081b9-ef01-4bee-b411-4ad5aff73cf3', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'25b081b9-ef01-4bee-b411-4ad5aff73cf3'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/af178932-5f66-41ff-9219-df42f4b5a9ac', u'rel': u'self'}, {u'href': u'http://localhost/nodes/af178932-5f66-41ff-9219-df42f4b5a9ac', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'af178932-5f66-41ff-9219-df42f4b5a9ac'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_provision_state [0.174692s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?provision_state=available {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c4d68ac2-a3f5-4252-98a2-97f5f19fe091', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c4d68ac2-a3f5-4252-98a2-97f5f19fe091', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'c4d68ac2-a3f5-4252-98a2-97f5f19fe091'}]} GET: /v1/nodes?provision_state=deploying {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ac5ed9c2-4854-4f34-aef0-ce1d684c2abe', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ac5ed9c2-4854-4f34-aef0-ce1d684c2abe', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'deploying', u'uuid': u'ac5ed9c2-4854-4f34-aef0-ce1d684c2abe'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_with_association_filter [0.202397s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/9dad563f-c21a-4e03-af0d-ee5cabab9996', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9dad563f-c21a-4e03-af0d-ee5cabab9996', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'9dad563f-c21a-4e03-af0d-ee5cabab9996', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'873f92f4-584e-4790-a62f-ca4f08e48939', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.404861+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/9dad563f-c21a-4e03-af0d-ee5cabab9996/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9dad563f-c21a-4e03-af0d-ee5cabab9996/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/f438b86c-b16e-4870-8671-613d3344ff3b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f438b86c-b16e-4870-8671-613d3344ff3b', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'f438b86c-b16e-4870-8671-613d3344ff3b', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'38a751ea-fffd-4f0d-bfff-abd075e9a217', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.414503+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/f438b86c-b16e-4870-8671-613d3344ff3b/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f438b86c-b16e-4870-8671-613d3344ff3b/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/97495d19-1934-403d-ad24-a00b466f620e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/97495d19-1934-403d-ad24-a00b466f620e', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'97495d19-1934-403d-ad24-a00b466f620e', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'8ec49e9b-19b2-4b65-8fb9-f5655a662578', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.422818+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/97495d19-1934-403d-ad24-a00b466f620e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/97495d19-1934-403d-ad24-a00b466f620e/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/27eda546-fb5d-42fb-8e09-ef0c7a81d2e3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/27eda546-fb5d-42fb-8e09-ef0c7a81d2e3', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'27eda546-fb5d-42fb-8e09-ef0c7a81d2e3', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'04184b95-313e-4013-81f5-cf58ad853ca7', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.430675+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/27eda546-fb5d-42fb-8e09-ef0c7a81d2e3/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/27eda546-fb5d-42fb-8e09-ef0c7a81d2e3/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_mask_available_state [0.116756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.499135+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.499135+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.111654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.502993+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.502993+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'foo': u'bar'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_maintenance_nodes [0.190264s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/c722c004-48b3-4193-8b2d-d6f0cd302f61', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c722c004-48b3-4193-8b2d-d6f0cd302f61', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c722c004-48b3-4193-8b2d-d6f0cd302f61'}, {u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/afb94979-7cea-453c-b8df-30eaf3dc6f4d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/afb94979-7cea-453c-b8df-30eaf3dc6f4d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'afb94979-7cea-453c-b8df-30eaf3dc6f4d'}]} GET: /v1/nodes?maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a901fc24-e52d-4925-b202-a30f7c82e137', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a901fc24-e52d-4925-b202-a30f7c82e137', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a901fc24-e52d-4925-b202-a30f7c82e137'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e6b81e7c-d8ac-4bcd-b81c-a11abaff95c7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e6b81e7c-d8ac-4bcd-b81c-a11abaff95c7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e6b81e7c-d8ac-4bcd-b81c-a11abaff95c7'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9d3d4aa8-00db-4b91-89dd-3f657eba5c7d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9d3d4aa8-00db-4b91-89dd-3f657eba5c7d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9d3d4aa8-00db-4b91-89dd-3f657eba5c7d'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_with_instance_uuid [0.077335s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?instance_uuid=c5ef7765-2ab7-44b8-ac2c-bde80119ed76 {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/51ab77a2-6e69-4692-b48d-27a4c9f196a2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51ab77a2-6e69-4692-b48d-27a4c9f196a2', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'51ab77a2-6e69-4692-b48d-27a4c9f196a2', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'c5ef7765-2ab7-44b8-ac2c-bde80119ed76', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.586126+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/51ab77a2-6e69-4692-b48d-27a4c9f196a2/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51ab77a2-6e69-4692-b48d-27a4c9f196a2/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.095701s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:11.622460+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_all_interface_fields [0.076442s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ 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 {} GOT:{u'management_interface': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_interface': None, u'deploy_interface': None, u'boot_interface': None, u'console_interface': None, u'raid_interface': None, u'vendor_interface': None} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_portgroups_subresource_old_api_version [0.046125s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.164196s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.613362+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:11.613362+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_many_have_names [0.159978s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e4837bda-a647-4b4c-9baa-56d476c0c4e8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e4837bda-a647-4b4c-9baa-56d476c0c4e8', u'rel': u'bookmark'}], u'name': u'node-0', u'power_state': None, u'provision_state': u'available', u'uuid': u'e4837bda-a647-4b4c-9baa-56d476c0c4e8'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7ea7bd59-236f-4626-9f4e-b1df7e2a1339', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7ea7bd59-236f-4626-9f4e-b1df7e2a1339', u'rel': u'bookmark'}], u'name': u'node-1', u'power_state': None, u'provision_state': u'available', u'uuid': u'7ea7bd59-236f-4626-9f4e-b1df7e2a1339'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4d352218-4c86-41ec-9e5e-4d37af03bbf3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4d352218-4c86-41ec-9e5e-4d37af03bbf3', u'rel': u'bookmark'}], u'name': u'node-2', u'power_state': None, u'provision_state': u'available', u'uuid': u'4d352218-4c86-41ec-9e5e-4d37af03bbf3'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/07aa3b42-4dfa-424b-9a42-950d8176a98b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/07aa3b42-4dfa-424b-9a42-950d8176a98b', u'rel': u'bookmark'}], u'name': u'node-3', u'power_state': None, u'provision_state': u'available', u'uuid': u'07aa3b42-4dfa-424b-9a42-950d8176a98b'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/fc45a5f4-8f3f-4bad-971a-752048fa8407', u'rel': u'self'}, {u'href': u'http://localhost/nodes/fc45a5f4-8f3f-4bad-971a-752048fa8407', u'rel': u'bookmark'}], u'name': u'node-4', u'power_state': None, u'provision_state': u'available', u'uuid': u'fc45a5f4-8f3f-4bad-971a-752048fa8407'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information [0.066189s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states_by_name [0.046600s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eggs/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'provision_updated_at': u'1971-03-09T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state'} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key_invalid [0.130362s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71d23fee-96d4-4ce0-bb99-a6be123c9821 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5bf757fe-e8a8-4c4a-bfa9-f34b5a279c40 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e41c9e67-69fc-4a5c-8c18-74df6aa7f6bd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5960e5b-1418-4aae-b812-7237878f7ef9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=instance_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bebd2f2f-d999-421d-aa2c-8be7e977b29d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-00702008-bdf2-4598-a370-8225471447a3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=clean_step {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e4b1c20-46b8-4a21-aa71-c3464b1662e3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states_raid [0.046577s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'raid_config': {u'foo': u'bar'}, u'provision_updated_at': u'2000-01-01T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state', u'target_raid_config': {u'foo': u'bar'}} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_one [0.096532s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class [0.219750s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?resource_class=foo {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/496f89a5-713f-4cf2-bed4-025b939ffc22', u'rel': u'self'}, {u'href': u'http://localhost/nodes/496f89a5-713f-4cf2-bed4-025b939ffc22', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'496f89a5-713f-4cf2-bed4-025b939ffc22'}]} GET: /v1/nodes?resource_class=bar {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/28115c5c-50f7-4c28-b8c6-5641e7d27fc2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/28115c5c-50f7-4c28-b8c6-5641e7d27fc2', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'28115c5c-50f7-4c28-b8c6-5641e7d27fc2'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_unassociated_nodes_with_limit [0.186203s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=False&limit=2 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/11b74a94-9aff-434d-afb5-0bfd554c60f2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/11b74a94-9aff-434d-afb5-0bfd554c60f2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'11b74a94-9aff-434d-afb5-0bfd554c60f2'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2e3a2018-17f5-4493-b447-f61040b0fd0a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2e3a2018-17f5-4493-b447-f61040b0fd0a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2e3a2018-17f5-4493-b447-f61040b0fd0a'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=2&marker=2e3a2018-17f5-4493-b447-f61040b0fd0a'} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_portgroups_subresource [0.120920s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'86865af2-856c-42de-a69e-6963a19085d1', u'links': [{u'href': u'http://localhost/v1/portgroups/86865af2-856c-42de-a69e-6963a19085d1', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/86865af2-856c-42de-a69e-6963a19085d1', u'rel': u'bookmark'}], u'name': u'pg-0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'97b83b76-17cb-4ca7-a97b-4c2df30a49e8', u'links': [{u'href': u'http://localhost/v1/portgroups/97b83b76-17cb-4ca7-a97b-4c2df30a49e8', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/97b83b76-17cb-4ca7-a97b-4c2df30a49e8', u'rel': u'bookmark'}], u'name': u'pg-1'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'86865af2-856c-42de-a69e-6963a19085d1', u'links': [{u'href': u'http://localhost/v1/portgroups/86865af2-856c-42de-a69e-6963a19085d1', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/86865af2-856c-42de-a69e-6963a19085d1', u'rel': u'bookmark'}], u'name': u'pg-0'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=1&marker=86865af2-856c-42de-a69e-6963a19085d1'} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_maintenance_nodes_associated [0.337455s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=true&maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': u'c80a82b1-1814-4893-8821-4324bd4327ed', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/019ce293-84cd-4a3e-b58a-44b2ed3e6917', u'rel': u'self'}, {u'href': u'http://localhost/nodes/019ce293-84cd-4a3e-b58a-44b2ed3e6917', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'019ce293-84cd-4a3e-b58a-44b2ed3e6917'}, {u'instance_uuid': u'e512f8b9-324c-40d6-bb8a-55a91eff625a', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/d8a6ff88-cbc1-423d-ba3d-9f3cdb5b3ab3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d8a6ff88-cbc1-423d-ba3d-9f3cdb5b3ab3', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'd8a6ff88-cbc1-423d-ba3d-9f3cdb5b3ab3'}, {u'instance_uuid': u'a6dc970f-ff58-4948-a8ec-9c33c3c4bb55', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/51cae0bc-c0c2-421f-8667-22292c409799', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51cae0bc-c0c2-421f-8667-22292c409799', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'51cae0bc-c0c2-421f-8667-22292c409799'}, {u'instance_uuid': u'aac08ff3-3d1b-4c3e-8dce-5800eeaa922e', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3298fff7-7504-43a3-9d33-8476f27c1ea1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3298fff7-7504-43a3-9d33-8476f27c1ea1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3298fff7-7504-43a3-9d33-8476f27c1ea1'}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': u'833c82ef-0ff7-41e0-9bfe-d364e7fb38ee', u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes?associated=true&maintenance=TruE {} GOT:{u'nodes': [{u'instance_uuid': u'833c82ef-0ff7-41e0-9bfe-d364e7fb38ee', u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_subresource_invalid_api_version [0.056635s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ee5ba922-42b6-42c3-86e8-d1add384df28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_maintenance_nodes_error [0.048144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cef27a1e-c1a3-4849-b790-dab77d3f9640 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute maintenance. Value: 'blah'. unable to convert to boolean\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.083182s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:12.116385+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class_detail [0.169087s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?resource_class=foo {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/06248e64-c35a-4bfd-846f-50f6000f13c1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/06248e64-c35a-4bfd-846f-50f6000f13c1', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/06248e64-c35a-4bfd-846f-50f6000f13c1/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/06248e64-c35a-4bfd-846f-50f6000f13c1/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'06248e64-c35a-4bfd-846f-50f6000f13c1', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2017-10-31T14:12:12.026126+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/06248e64-c35a-4bfd-846f-50f6000f13c1/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/06248e64-c35a-4bfd-846f-50f6000f13c1/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/708c8ceb-fd55-4a6e-a8e4-f8d94565db00', u'rel': u'self'}, {u'href': u'http://localhost/nodes/708c8ceb-fd55-4a6e-a8e4-f8d94565db00', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/708c8ceb-fd55-4a6e-a8e4-f8d94565db00/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/708c8ceb-fd55-4a6e-a8e4-f8d94565db00/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'708c8ceb-fd55-4a6e-a8e4-f8d94565db00', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'bar', u'created_at': u'2017-10-31T14:12:12.032234+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/708c8ceb-fd55-4a6e-a8e4-f8d94565db00/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/708c8ceb-fd55-4a6e-a8e4-f8d94565db00/ports', u'rel': u'bookmark'}]}]} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_by_instance_uuid [0.079151s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?instance_uuid=e5295a13-510a-45ad-909f-e0ebb0712b83 {} GOT:{u'nodes': [{u'instance_uuid': u'e5295a13-510a-45ad-909f-e0ebb0712b83', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6681ad4e-d22a-42fe-9215-6f5e45766cfb', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6681ad4e-d22a-42fe-9215-6f5e45766cfb', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'6681ad4e-d22a-42fe-9215-6f5e45766cfb'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_one_custom_fields_show_password [0.075023s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info {} GOT:{u'driver_info': {u'fake_password': u'******'}, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_targets_subresource [0.154351s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'07a4d25e-c776-4620-bf96-50084b81d8ac', u'links': [{u'href': u'http://localhost/v1/volume/targets/07a4d25e-c776-4620-bf96-50084b81d8ac', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/07a4d25e-c776-4620-bf96-50084b81d8ac', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'0461272f-db5c-46fa-af9b-68b5337bab3a', u'links': [{u'href': u'http://localhost/v1/volume/targets/0461272f-db5c-46fa-af9b-68b5337bab3a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0461272f-db5c-46fa-af9b-68b5337bab3a', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'07a4d25e-c776-4620-bf96-50084b81d8ac', u'links': [{u'href': u'http://localhost/v1/volume/targets/07a4d25e-c776-4620-bf96-50084b81d8ac', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/07a4d25e-c776-4620-bf96-50084b81d8ac', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&limit=1&marker=07a4d25e-c776-4620-bf96-50084b81d8ac'} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states [0.064781s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'provision_updated_at': u'2000-01-01T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state'} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_targets_subresource_node_not_found [0.046327s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c97d3cb3-e6b4-4834-bef2-095b1bccbc21 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource [0.141172s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{u'ports': [{u'uuid': u'437c531c-9158-48b9-b5ee-4ae7dec3ba27', u'links': [{u'href': u'http://localhost/v1/ports/437c531c-9158-48b9-b5ee-4ae7dec3ba27', u'rel': u'self'}, {u'href': u'http://localhost/ports/437c531c-9158-48b9-b5ee-4ae7dec3ba27', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'ff371fb6-5831-4d81-b748-5390c30a0241', u'links': [{u'href': u'http://localhost/v1/ports/ff371fb6-5831-4d81-b748-5390c30a0241', u'rel': u'self'}, {u'href': u'http://localhost/ports/ff371fb6-5831-4d81-b748-5390c30a0241', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'437c531c-9158-48b9-b5ee-4ae7dec3ba27', u'links': [{u'href': u'http://localhost/v1/ports/437c531c-9158-48b9-b5ee-4ae7dec3ba27', u'rel': u'self'}, {u'href': u'http://localhost/ports/437c531c-9158-48b9-b5ee-4ae7dec3ba27', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=1&marker=437c531c-9158-48b9-b5ee-4ae7dec3ba27'} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.065160s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c70e647-8ed7-439e-802b-4068880052a5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_targets_subresource_noid [0.057492s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e876823-f3df-4f12-82c7-7e35a6bb80b3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.084080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:12.316091+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_link [0.075481s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:12.339054+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_chassis_id [0.066330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-98b3fb01-abb1-446f-b826-3e35206be0b5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/chassis_id) to the root of the resource is not allowed\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.146369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:12.349526+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:12.349526+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_empty_not_acceptable [0.071007s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': '', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3933d31b-1f46-4ec2-bbce-dd78e08702f1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key [0.156655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=uuid {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1b83e872-7d26-457e-90a4-1ed41c17237e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1b83e872-7d26-457e-90a4-1ed41c17237e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1b83e872-7d26-457e-90a4-1ed41c17237e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3b3e4acf-3714-4c7d-b4cf-f60f4767e19c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3b3e4acf-3714-4c7d-b4cf-f60f4767e19c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3b3e4acf-3714-4c7d-b4cf-f60f4767e19c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f42df7c0-7aab-47db-926e-971d1e010922', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f42df7c0-7aab-47db-926e-971d1e010922', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f42df7c0-7aab-47db-926e-971d1e010922'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key_allowed [0.150578s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=resource_class {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ff6dfcd1-df57-4f8e-bce0-dc4cf74f94c1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ff6dfcd1-df57-4f8e-bce0-dc4cf74f94c1', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'ff6dfcd1-df57-4f8e-bce0-dc4cf74f94c1'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0dda6ad0-0718-4e8c-a09e-1078bc526251', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0dda6ad0-0718-4e8c-a09e-1078bc526251', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'0dda6ad0-0718-4e8c-a09e-1078bc526251'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3c6963b0-3531-419a-953a-5cb7a9a4caf5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c6963b0-3531-419a-953a-5cb7a9a4caf5', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'3c6963b0-3531-419a-953a-5cb7a9a4caf5'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_name [0.100263s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:12.493035+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': u'fish', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:12.493035+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_invalid [0.077255s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'i am invalid', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-26840f25-bb56-47dc-b7a3-829ca7d2f1db X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key_not_allowed [0.043875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d161c920-cdab-4dbb-acf8-5478149c2a28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_validate_by_uuid [0.059868s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_replace_invalid [0.078744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0e9075d-e7d2-4db9-856a-ee41df4cbb15 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_connectors_subresource_node_not_found [0.051143s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-37533d39-0b22-4a35-a334-73a5386e5089 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.152748s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:12.594711+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:12.594711+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_update_name_twice_both_invalid [0.077730s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Windows ME', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fcbe63e4-6b5a-4f7b-a3e5-7ef272927925 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_connectors_subresource_noid [0.057034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-33fc23e8-e2ac-45e3-96ce-7297127bb63c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestNodeObject.test_node_init [0.012459s] ... ok {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_unassociated_nodes_insensitive [0.302790s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/da1bc2d9-f221-4d4d-9cb6-da8d0f885019', u'rel': u'self'}, {u'href': u'http://localhost/nodes/da1bc2d9-f221-4d4d-9cb6-da8d0f885019', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'da1bc2d9-f221-4d4d-9cb6-da8d0f885019'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/91f0aa0d-dd0c-43c6-87a1-4a97eeddc2b7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/91f0aa0d-dd0c-43c6-87a1-4a97eeddc2b7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'91f0aa0d-dd0c-43c6-87a1-4a97eeddc2b7'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/fa8a6502-048f-40a2-bacd-b7b44a6b8667', u'rel': u'self'}, {u'href': u'http://localhost/nodes/fa8a6502-048f-40a2-bacd-b7b44a6b8667', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'fa8a6502-048f-40a2-bacd-b7b44a6b8667'}]} GET: /v1/nodes?associated=FALSE {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/da1bc2d9-f221-4d4d-9cb6-da8d0f885019', u'rel': u'self'}, {u'href': u'http://localhost/nodes/da1bc2d9-f221-4d4d-9cb6-da8d0f885019', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'da1bc2d9-f221-4d4d-9cb6-da8d0f885019'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/91f0aa0d-dd0c-43c6-87a1-4a97eeddc2b7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/91f0aa0d-dd0c-43c6-87a1-4a97eeddc2b7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'91f0aa0d-dd0c-43c6-87a1-4a97eeddc2b7'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/fa8a6502-048f-40a2-bacd-b7b44a6b8667', u'rel': u'self'}, {u'href': u'http://localhost/nodes/fa8a6502-048f-40a2-bacd-b7b44a6b8667', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'fa8a6502-048f-40a2-bacd-b7b44a6b8667'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_chassis_uuid [0.105142s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3db2233e-c415-4b67-bbb3-da8849c43174 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:12.773873+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_chassis_uuid [0.092656s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c547d109-ce13-4631-bf99-21d01b5692cd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:12.803589+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_next_link_with_association [0.169411s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/?limit=3&associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'359c77a2-c19d-4e0f-aaf9-ab242f8495b7', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c1567537-d5b9-473c-b519-7fc4805a9610', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c1567537-d5b9-473c-b519-7fc4805a9610', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c1567537-d5b9-473c-b519-7fc4805a9610'}, {u'instance_uuid': u'9a0a967f-a5ca-4736-829a-c4c2db4f2021', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/39bcacc7-f898-4eae-8a7d-320068c49b39', u'rel': u'self'}, {u'href': u'http://localhost/nodes/39bcacc7-f898-4eae-8a7d-320068c49b39', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'39bcacc7-f898-4eae-8a7d-320068c49b39'}, {u'instance_uuid': u'9653ef1c-11f8-4409-87a0-1d974e47d5ca', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/36f566df-fca6-4c89-90e1-aad07ad88682', u'rel': u'self'}, {u'href': u'http://localhost/nodes/36f566df-fca6-4c89-90e1-aad07ad88682', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'36f566df-fca6-4c89-90e1-aad07ad88682'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=36f566df-fca6-4c89-90e1-aad07ad88682'} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_validate_by_name [0.067704s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node=spam {} GOT:{} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.091098s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1c8a4ff8-e166-40d3-9359-ccccfd50053d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_validate_by_name_unsupported [0.051682s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3f6f4608-8401-454f-9b56-ff7c3893a195 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.068793s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_maintenance_by_name [0.104194s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/node-57 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64c56a38-1cc8-412c-b5c5-cce744316ad9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:12.970575+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_next_link_with_association_with_detail [0.165900s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/27d3b694-b156-4cfd-abde-2283458f2374', u'rel': u'self'}, {u'href': u'http://localhost/nodes/27d3b694-b156-4cfd-abde-2283458f2374', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'27d3b694-b156-4cfd-abde-2283458f2374', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'3e1960a6-e7c7-4f3c-a22a-6c36b0001de6', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:12.935585+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/27d3b694-b156-4cfd-abde-2283458f2374/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/27d3b694-b156-4cfd-abde-2283458f2374/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/767894d8-125d-41bb-b9db-fd1fb428d226', u'rel': u'self'}, {u'href': u'http://localhost/nodes/767894d8-125d-41bb-b9db-fd1fb428d226', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'767894d8-125d-41bb-b9db-fd1fb428d226', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'd36e9964-4815-456f-a9a8-174a782abf19', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:12.943947+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/767894d8-125d-41bb-b9db-fd1fb428d226/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/767894d8-125d-41bb-b9db-fd1fb428d226/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3c3104ee-a48f-4d27-be27-bc2741cec915', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3104ee-a48f-4d27-be27-bc2741cec915', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'3c3104ee-a48f-4d27-be27-bc2741cec915', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': u'b4a3560e-446b-40f5-81b9-02bb191d7df2', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:12.949686+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3c3104ee-a48f-4d27-be27-bc2741cec915/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3104ee-a48f-4d27-be27-bc2741cec915/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}], u'next': u'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=3c3104ee-a48f-4d27-be27-bc2741cec915'} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_reserved [0.195101s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'maintenance', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b59a6db1-88e4-4c14-be56-1afc79e784bd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'management', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0abcf5b1-0b90-45c1-b53d-5150ce2ebbb9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'states', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5c552c2-e7b8-46d8-a72d-a7b49224cfd4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'vendor_passthru', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f5594a8-364b-49d7-afbe-84f0eb54e68f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'validate', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4b882725-dd64-4a15-80cd-d387b1ac8564 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'detail', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-de0c19fb-d439-43cb-88a0-73b066961a26 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.034613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-680786f8-2a90-43e0-b202-c22296805795 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute instance_uuid. Value: 'fake'. unable to convert to uuid\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.060406s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e378e4f-89ab-4573-a0c3-4c86dcddc9e1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.048273s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?instance_uuid=fb2a42ba-1572-4a59-93e3-177f0da1dc34 {} GOT:{u'nodes': []} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_connectors_subresource [0.145138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'11eaf3de-c72d-4408-9c3c-2fc9b397661e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/11eaf3de-c72d-4408-9c3c-2fc9b397661e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/11eaf3de-c72d-4408-9c3c-2fc9b397661e', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'797043ff-bc4d-426d-815d-6e7c417d0bf4', u'links': [{u'href': u'http://localhost/v1/volume/connectors/797043ff-bc4d-426d-815d-6e7c417d0bf4', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/797043ff-bc4d-426d-815d-6e7c417d0bf4', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'11eaf3de-c72d-4408-9c3c-2fc9b397661e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/11eaf3de-c72d-4408-9c3c-2fc9b397661e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/11eaf3de-c72d-4408-9c3c-2fc9b397661e', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&limit=1&marker=11eaf3de-c72d-4408-9c3c-2fc9b397661e'} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_network_interface [0.124343s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eb134f19-bfd6-459b-a9ff-966043ac1726 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9", "rel": "self"}, {"href": "http://localhost/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/states", "rel": "self"}, {"href": "http://localhost/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "dd6664a3-e74a-4921-a24c-4a725035dfb9", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/volume", "rel": "self"}, {"href": "http://localhost/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:13.107954+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/ports", "rel": "self"}, {"href": "http://localhost/nodes/dd6664a3-e74a-4921-a24c-4a725035dfb9/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_chassis_id [0.065393s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5cbe5fa7-6891-4cc9-bbf9-f59e388ed008 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/chassis_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'chassis_id'\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.049211s] ... ok {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states_field_hidden_in_lower_version [0.083236s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:13.179905+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_internal_field [0.054263s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/last_error', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2310f23-46fc-4ecd-bf73-6060e882f58a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/last_error' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class [0.117967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/ea092525-1631-4300-b87e-a4d68fe2e6eb [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8595bad3-5d24-4c1e-855c-88d65dd444b1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/ea092525-1631-4300-b87e-a4d68fe2e6eb", "rel": "self"}, {"href": "http://localhost/nodes/ea092525-1631-4300-b87e-a4d68fe2e6eb", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/ea092525-1631-4300-b87e-a4d68fe2e6eb/states", "rel": "self"}, {"href": "http://localhost/nodes/ea092525-1631-4300-b87e-a4d68fe2e6eb/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "ea092525-1631-4300-b87e-a4d68fe2e6eb", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:13.226105+00:00", "ports": [{"href": "http://localhost/v1/nodes/ea092525-1631-4300-b87e-a4d68fe2e6eb/ports", "rel": "self"}, {"href": "http://localhost/nodes/ea092525-1631-4300-b87e-a4d68fe2e6eb/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_portgroups_subresource_link [0.066850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:13.250169+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_mandatory_field [0.051906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ab5dda1-f7c8-432f-9cbe-4c4a58587290 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/driver' is a mandatory attribute and can not be removed\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_ok [0.105495s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0fe59bb1-13d5-4c89-bc12-cbb53d14753a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.246380+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_invalid_ident [0.027769s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/123~123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 123~123. "} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_node_not_found [0.042070s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dae639d5-648d-401d-a474-c3480daf873c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_chassis_uuid [0.099486s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f506d226-d1cf-427f-ad87-c5e974916ec2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.344081+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_noid [0.044512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6f38be34-af6b-4411-9477-3daab044239b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node ports could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_state_in_deployfail [0.109559s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/e9571b21-3808-46df-bee1-2927e9f995d3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4303e56-7ede-442a-b3ea-e549f5fb4e64 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/e9571b21-3808-46df-bee1-2927e9f995d3", "rel": "self"}, {"href": "http://localhost/nodes/e9571b21-3808-46df-bee1-2927e9f995d3", "rel": "bookmark"}], "target_provision_state": "active", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "e9571b21-3808-46df-bee1-2927e9f995d3", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.372775+00:00", "ports": [{"href": "http://localhost/v1/nodes/e9571b21-3808-46df-bee1-2927e9f995d3/ports", "rel": "self"}, {"href": "http://localhost/nodes/e9571b21-3808-46df-bee1-2927e9f995d3/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.049846s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a750f5df-a2a4-48b7-9726-3d91b55cc678 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_empty_invalid [0.059640s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': '', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-564b7a5f-6038-4bb8-a05e-ccf3b4059e6c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_allowed_in_maintenance [0.094078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/a529f1f1-233b-4b73-bf99-9e2318ef7a45 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ee807bb-af4c-4c1a-9adb-7bbdab616590 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/a529f1f1-233b-4b73-bf99-9e2318ef7a45", "rel": "self"}, {"href": "http://localhost/nodes/a529f1f1-233b-4b73-bf99-9e2318ef7a45", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "a529f1f1-233b-4b73-bf99-9e2318ef7a45", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": true, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.459585+00:00", "ports": [{"href": "http://localhost/v1/nodes/a529f1f1-233b-4b73-bf99-9e2318ef7a45/ports", "rel": "self"}, {"href": "http://localhost/nodes/a529f1f1-233b-4b73-bf99-9e2318ef7a45/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ssh_creds_masked [0.076999s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'ssh_password': u'******', u'ssh_key_contents': u'******'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:13.487695+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_by_name_unsupported [0.050295s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/node-57 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f1015ffa-b862-4821-8544-4c4d895e04d0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-57 could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_ok [0.089896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-72bf0531-b036-4b0a-aae2-87794fe1507a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "deadbeef-0000-1111-2222-333333333333", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.526511+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "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"}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_subresource [0.045182s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_classic_driver_specify_interface [0.310545s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '2855024d-d3e2-4cda-9994-1f844a0761e4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0a860612-71d7-441a-95e7-6c97547d940e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 2855024d-d3e2-4cda-9994-1f844a0761e4 with driver fake, these node fields must be set to None: boot_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'fa15acce-313b-4577-bd69-d027561a58ad', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88381875-9cfc-4367-b5c4-c12c8f8887c9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node fa15acce-313b-4577-bd69-d027561a58ad with driver fake, these node fields must be set to None: console_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '48c00147-3ca8-4013-b4de-a2fa4865ea81', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'deploy_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a7aa32d-b81d-41de-a4a7-3ccca5fef487 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 48c00147-3ca8-4013-b4de-a2fa4865ea81 with driver fake, these node fields must be set to None: deploy_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '4e77ef2d-993c-4101-a514-936d7f861e4f'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3d5277e5-6dac-4b60-b7b4-379fb3f075eb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 4e77ef2d-993c-4101-a514-936d7f861e4f with driver fake, these node fields must be set to None: inspect_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': '54817521-e92f-47d7-bf58-077901b3fcf9', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec4189f4-9373-4c11-8ef4-c24d39917a06 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 54817521-e92f-47d7-bf58-077901b3fcf9 with driver fake, these node fields must be set to None: management_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'dc2f4853-a85d-461a-bb1d-9e2a38791fab', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'power_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94de95e2-1347-41e4-ac59-02d4152a83d1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node dc2f4853-a85d-461a-bb1d-9e2a38791fab with driver fake, these node fields must be set to None: power_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '9d7accac-1f8e-4283-86b7-61d57882cf2c'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-10b49b39-714b-4f26-8747-7a4fa48cd092 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 9d7accac-1f8e-4283-86b7-61d57882cf2c with driver fake, these node fields must be set to None: raid_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'vendor_interface': 'fake', 'uuid': '0c1ce644-82ad-4688-836e-f8927c1871fa'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-136f150c-8f74-48cc-a73c-2b642d440756 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 0c1ce644-82ad-4688-836e-f8927c1871fa with driver fake, these node fields must be set to None: vendor_interface.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_name_empty_not_acceptable [0.050954s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': ''} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8b31a8c7-1915-444d-a5ae-522caa1bc5d9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_subresource_link [0.069829s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:13.617596+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_name_replace_ok [0.093897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3a0fa60b-a888-4ae9-952e-91fe88c17372 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.615803+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_portgroups_subresource [0.055958s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aac4f7d9-a07c-4980-bf0c-8e0fca77fea8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_root [0.086470s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ce8192c-0490-4968-87b6-352d4147a603 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.686051+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_reserved_name [0.150566s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'maintenance'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e372ea29-e313-4cfd-bb47-31df72b7d34b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'management'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-134902c7-42fd-4dde-b3f3-0e393bbdc465 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'states'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0c3a128-4634-4148-a7c5-77e3ec936d42 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'vendor_passthru'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-06a9e767-88bd-4900-aa45-9a261abcbb65 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'validate'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b23d3874-ccfc-435b-a567-64798b121b51 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'detail'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-886c64de-fc63-4e99-b61c-d1dc3cfca41a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"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, validate, detail.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_ports_subresource [0.068385s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3eede55e-0e3c-4bc5-84f2-265b9532eb03 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_root_non_existent [0.068084s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1857130e-4df5-4fb0-9765-112bb5059668 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_storage_interface_old_api_version [0.050781s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9024f4c0-af53-497c-b088-606bf8ded117 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_classic_driver_interface_fields [0.304505s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/4e3db877-41f0-405b-9443-41f5eec29b13 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a1235204-a877-48e9-b681-5bad862a7c1a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/1a8273df-242c-4b7d-be36-48f00a0dfecc [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4e991556-6ddf-41c5-9465-89a0ffe317c0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/352c9e95-5046-47bc-8178-f88b922a298f [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-358ac156-a8d4-4c2c-b9f9-6b58a7341e6b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/b3180d8c-a30b-470c-a4d1-a0122d413bde [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a92a764c-350f-462b-aeff-6bb2f02957df X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/a73a4b2a-259f-48f0-a02f-67ed07137dc8 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b30c78b0-f390-4413-8d87-63861dfae75f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/940f28aa-2b89-4243-84d4-fa9efc4c5e22 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aef8df5a-8394-4856-b0ca-4f6a5af02e1f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/9f0c333c-6947-48e7-9ed5-f2babeacec4d [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8fc1ddd3-cb51-4c36-b696-6c836b40bb13 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/bb81ca51-4df6-4be7-8d3d-b110a8e245d6 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cbf98784-45fb-4889-bbf9-9e8c9b717cea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_ports_subresource_no_port_id [0.063528s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c574b587-dc5e-4cc2-a1fb-486b259c35ee X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_state_in_cleaning [0.070803s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/0101fedb-7bce-4125-b7ce-26130078bd8f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-aa095547-4a33-4866-b1f9-674f0c5ff2d7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 0101fedb-7bce-4125-b7ce-26130078bd8f can not be updated while a state transition is in progress.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class_old_api [0.059343s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/9fe94a85-5385-4d5a-b329-f0ab90495091 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-80ab2f42-ea1b-47ea-9786-aeeac6210dd6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_update_drive_console_enabled [0.067690s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-09f80e79-7402-4842-b5e3-553018110a33 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_duplicate_name [0.078643s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/210f5344-374a-4e0a-8ea0-e7f0646a6a4d [{'path': '/name', 'value': 'this-is-my-node', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-71a3bcba-9016-486c-9718-d32af1f296cf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_uuid [0.048057s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0afdad42-4906-49a1-b3f8-711735f9a8ab X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_internal_field [0.046105s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'value': 'fake-state', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c4fc8fb-d4ce-405b-9053-d0381c6df215 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/power_state' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_with_chassis_uuid [0.199557s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-1e6cea07-f31f-4bf2-bed0-16ce1629b381 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.975077+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:13.975077+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_name_remove_ok [0.098206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a4c9374-798e-4da6-87e0-3655857ff494 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:13.996325+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_ports_subresource [0.067369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-365bb4b0-18a6-4b27-8397-ef0248de0adb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_maintenance [0.093607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d3afeabb-5976-498d-97e1-e757e1c6b6d4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.057166+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_update_name_twice_second_invalid [0.072699s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'node-0', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-19dec341-67d6-4730-86f7-96c680a50866 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_chassis_uuid_always_in_response [0.237484s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': None, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-37ab2ac8-10a7-4582-a831-e11bf64a5f72 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} POST: /v1/nodes {'instance_uuid': None, 'uuid': '66f422c3-e242-4f97-80cd-0c86b7805443', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/66f422c3-e242-4f97-80cd-0c86b7805443 Openstack-Request-Id: req-0367a228-a13c-408e-b6bd-9789f09f1b75 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/66f422c3-e242-4f97-80cd-0c86b7805443", "rel": "self"}, {"href": "http://localhost/nodes/66f422c3-e242-4f97-80cd-0c86b7805443", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "66f422c3-e242-4f97-80cd-0c86b7805443", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/66f422c3-e242-4f97-80cd-0c86b7805443/ports", "rel": "self"}, {"href": "http://localhost/nodes/66f422c3-e242-4f97-80cd-0c86b7805443/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/66f422c3-e242-4f97-80cd-0c86b7805443 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/66f422c3-e242-4f97-80cd-0c86b7805443', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66f422c3-e242-4f97-80cd-0c86b7805443', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'66f422c3-e242-4f97-80cd-0c86b7805443', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/66f422c3-e242-4f97-80cd-0c86b7805443/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66f422c3-e242-4f97-80cd-0c86b7805443/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_volume_connectors_subresource_no_node_id [0.049598s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_provision_updated_at [0.060205s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'value': '2000-01-01 00:00:00', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-276c2ba8-d896-45e2-879d-3b465abc7261 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/provision_updated_at' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_volume_connectors_subresource [0.060172s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eb1a8651-314e-413a-806f-3212b1098ea5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_chassis_uuid_not_found [0.042185s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-efd77580-7c1f-4efb-8d2c-bc22668ae90e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_without_method [0.062708s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9fc605df-4f6e-4a20-a727-339b1bb0aabc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_volume_targets_subresource [0.060609s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b738c445-d89c-4930-a64b-29813999b466 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inject_nmi_not_allowed [0.047182s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-08b7a157-622c-42a7-a667-77fe8fbc580b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_non_existent_property_fail [0.065776s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93bfdfb4-5f2e-4a03-9ff6-39cafa457d83 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_invalid_state_request [0.065449s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb6cea93-dc73-42c0-aaef-f56765704f49 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_explicit_network_interface [0.155055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'neutron', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-c7be2d15-7c51-43bc-860a-4c448dbac1c5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "neutron", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'neutron', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_ok [0.083163s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a054f755-dca2-4865-b62e-a89c36c1f56b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.358057+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_network_interface_old_api_version [0.044816s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'flat', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-10aa7af5-4ac1-4282-ae60-6c3b04b766c9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.077915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b9e0877-0560-4333-9261-d8fa05a3f83f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_chassis_id [0.060695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4330fc1-dfb6-4961-9b83-8ea473bcc355 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/chassis_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'chassis_id'\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_no_timeout_no_ver [0.074673s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b4be21ec-e3f9-4bb3-b9b3-70cc66603a9b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_consoled_enabled [0.047034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dd34c5dc-ab76-4ecb-8176-4d783d0f8ab8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/console_enabled' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.066594s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b7f877dc-5b00-45d7-9940-d0a05fa067c2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_non_existent_chassis_uuid [0.058137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8622531e-1c32-4bc9-8bb0-da6a510483ca X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_resource_class [0.174376s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'resource_class': 'foo', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-c3e71919-3047-484f-8f0d-d0db1c0bd20f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": "foo", "created_at": "2017-10-31T14:12:14.521097+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2017-10-31T14:12:14.521097+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.433722s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/350d19f5-dce7-4bb5-a8a2-d745bc32e30d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07bc3b44-56ee-40e2-a450-67668f35ed74 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/350d19f5-dce7-4bb5-a8a2-d745bc32e30d", "rel": "self"}, {"href": "http://localhost/nodes/350d19f5-dce7-4bb5-a8a2-d745bc32e30d", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "350d19f5-dce7-4bb5-a8a2-d745bc32e30d", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.233251+00:00", "ports": [{"href": "http://localhost/v1/nodes/350d19f5-dce7-4bb5-a8a2-d745bc32e30d/ports", "rel": "self"}, {"href": "http://localhost/nodes/350d19f5-dce7-4bb5-a8a2-d745bc32e30d/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/50ca9180-6846-4a24-b090-f57b816b12f4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d2dd141-291e-4918-90d1-10c100be4718 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/50ca9180-6846-4a24-b090-f57b816b12f4", "rel": "self"}, {"href": "http://localhost/nodes/50ca9180-6846-4a24-b090-f57b816b12f4", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspecting", "uuid": "50ca9180-6846-4a24-b090-f57b816b12f4", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.287968+00:00", "ports": [{"href": "http://localhost/v1/nodes/50ca9180-6846-4a24-b090-f57b816b12f4/ports", "rel": "self"}, {"href": "http://localhost/nodes/50ca9180-6846-4a24-b090-f57b816b12f4/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/890430a0-487a-402c-a65a-8979631dd471 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f71d0b7f-4e06-48cb-9bae-cc52ebb38182 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/890430a0-487a-402c-a65a-8979631dd471", "rel": "self"}, {"href": "http://localhost/nodes/890430a0-487a-402c-a65a-8979631dd471", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspect failed", "uuid": "890430a0-487a-402c-a65a-8979631dd471", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.341264+00:00", "ports": [{"href": "http://localhost/v1/nodes/890430a0-487a-402c-a65a-8979631dd471/ports", "rel": "self"}, {"href": "http://localhost/nodes/890430a0-487a-402c-a65a-8979631dd471/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/23786c50-5819-4093-9d99-7134a058680c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3dd69d23-1581-4215-a37a-c066870cf00a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/23786c50-5819-4093-9d99-7134a058680c", "rel": "self"}, {"href": "http://localhost/nodes/23786c50-5819-4093-9d99-7134a058680c", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "clean failed", "uuid": "23786c50-5819-4093-9d99-7134a058680c", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.397372+00:00", "ports": [{"href": "http://localhost/v1/nodes/23786c50-5819-4093-9d99-7134a058680c/ports", "rel": "self"}, {"href": "http://localhost/nodes/23786c50-5819-4093-9d99-7134a058680c/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/bd6223da-83ab-4205-a785-d51c9fa136fa [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-890d5a36-dcbb-41e0-9c87-66e7fc73732b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/bd6223da-83ab-4205-a785-d51c9fa136fa", "rel": "self"}, {"href": "http://localhost/nodes/bd6223da-83ab-4205-a785-d51c9fa136fa", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "error", "uuid": "bd6223da-83ab-4205-a785-d51c9fa136fa", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.454044+00:00", "ports": [{"href": "http://localhost/v1/nodes/bd6223da-83ab-4205-a785-d51c9fa136fa/ports", "rel": "self"}, {"href": "http://localhost/nodes/bd6223da-83ab-4205-a785-d51c9fa136fa/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/66f4ac7e-b0e7-4d4c-89ad-bff968934a63 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-82528344-219f-41de-ae1b-046294723124 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/66f4ac7e-b0e7-4d4c-89ad-bff968934a63", "rel": "self"}, {"href": "http://localhost/nodes/66f4ac7e-b0e7-4d4c-89ad-bff968934a63", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "verifying", "uuid": "66f4ac7e-b0e7-4d4c-89ad-bff968934a63", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.512547+00:00", "ports": [{"href": "http://localhost/v1/nodes/66f4ac7e-b0e7-4d4c-89ad-bff968934a63/ports", "rel": "self"}, {"href": "http://localhost/nodes/66f4ac7e-b0e7-4d4c-89ad-bff968934a63/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/59effad0-3dac-46bd-819d-d6a7d4621e0b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2553d71b-1a29-48b6-b74d-25d999f8637d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/59effad0-3dac-46bd-819d-d6a7d4621e0b", "rel": "self"}, {"href": "http://localhost/nodes/59effad0-3dac-46bd-819d-d6a7d4621e0b", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "adopt failed", "uuid": "59effad0-3dac-46bd-819d-d6a7d4621e0b", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.568187+00:00", "ports": [{"href": "http://localhost/v1/nodes/59effad0-3dac-46bd-819d-d6a7d4621e0b/ports", "rel": "self"}, {"href": "http://localhost/nodes/59effad0-3dac-46bd-819d-d6a7d4621e0b/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.070118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-89e7a9b7-7bd7-4226-8b32-d25afc3412e8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_allowed_in_power_transition [0.085053s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/d52d3ee1-9432-4f85-847c-7e2890932b15 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ffbe3b6e-0fc5-4827-8a27-1a3cd69109d7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/d52d3ee1-9432-4f85-847c-7e2890932b15", "rel": "self"}, {"href": "http://localhost/nodes/d52d3ee1-9432-4f85-847c-7e2890932b15", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "d52d3ee1-9432-4f85-847c-7e2890932b15", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.618473+00:00", "ports": [{"href": "http://localhost/v1/nodes/d52d3ee1-9432-4f85-847c-7e2890932b15/ports", "rel": "self"}, {"href": "http://localhost/nodes/d52d3ee1-9432-4f85-847c-7e2890932b15/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.063208s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-56d895a5-fbc6-4fa5-bdc8-2a44820f36da X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_fails_bad_driver [0.059400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'bad-driver', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02090f56-b2d9-4efe-bdb5-29e21cb69f1b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.061693s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2b6f70eb-03c0-4354-a5b4-7804544347ce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_fails_bad_driver_info [0.060087s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0049ef5-6007-47a6-a182-3055b953b518 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_instance_info [0.212386s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-72b87b42-e49f-483a-806a-98a5ec49c087 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.737408+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:14.737408+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_by_name [0.062103s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-ab64dcd6-9c84-4298-aa48-b3e24cccbd07 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_ok [0.091682s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-704e8d11-3c54-47a2-9a3d-054f472c6838 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.814258+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_invalid_state_request [0.057216s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-406620dc-c4fb-4fdd-8457-5625b57494ef X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_locked_with_correct_state [0.071395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2a0e4196-24c7-4e3a-993b-a251c6d53167 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class_max_length [0.091349s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/7e07c55d-f923-4680-b569-2d853bc9a610 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cc55236a-712e-40e2-be19-93ae0223b556 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/7e07c55d-f923-4680-b569-2d853bc9a610", "rel": "self"}, {"href": "http://localhost/nodes/7e07c55d-f923-4680-b569-2d853bc9a610", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/7e07c55d-f923-4680-b569-2d853bc9a610/states", "rel": "self"}, {"href": "http://localhost/nodes/7e07c55d-f923-4680-b569-2d853bc9a610/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "7e07c55d-f923-4680-b569-2d853bc9a610", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.923804+00:00", "ports": [{"href": "http://localhost/v1/nodes/7e07c55d-f923-4680-b569-2d853bc9a610/ports", "rel": "self"}, {"href": "http://localhost/nodes/7e07c55d-f923-4680-b569-2d853bc9a610/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_properties [0.169054s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-bcf812b5-8f34-409d-830e-6e6ecc0c3908 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:14.912555+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:14.912555+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_interface_fields [0.397658s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6e4b5f84-2656-40ff-9539-f9eee8aac973 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68a0b3a8-6a26-4e54-9e8c-c6bdc2536fd2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c576c0c9-e72b-4c00-92be-becbb98ffd38 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-312b2100-5c5a-4062-b611-79ddcd0e39a1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-34871701-c51b-4162-8aec-5e313912988c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-136d5fe6-1c47-4f44-9690-0f98f051605f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea355b67-1490-44c3-81e2-28e89f7aab15 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-faf628a7-cf33-435b-b2c2-77f5073fb302 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "06e42955-56e1-4eb2-b630-9cc9be3ff9f3", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:14.671140+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "self"}, {"href": "http://localhost/nodes/06e42955-56e1-4eb2-b630-9cc9be3ff9f3/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid [0.076948s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 204 No Content Openstack-Request-Id: req-e382a15b-23fc-43ac-ad8c-9cdbe66fe57e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_portgroups_subresource [0.066532s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b3465c5c-dfc8-4418-a803-04b7429745a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class_too_long [0.085454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/2cfd9b19-599b-4679-bb54-c2708c370753 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f649d86b-7707-4bcb-a770-17b984e80f27 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'. Value should have a maximum character requirement of 80\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid_iface_not_supported [0.065087s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f6781ebe-fc57-42ba-92eb-d6fdbedacedf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support raid (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_async [0.060367s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-f43e8144-aca3-46d0-8edb-6357e0af8371 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_state [0.060819s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'power_state': 'new state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7eff5f27-e294-4062-8988-e49039d36d35 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument patch: power_state\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_interface_fields_bad_version [0.134800s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-89b896d8-b76a-4f7a-b514-71c1643da7d7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8c72a69d-5de9-4191-8538-456d9ccc6da2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9bb7ac84-6126-4bbf-be1a-163e8adf6167 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ec458aec-a2fa-4ffa-b323-704e95a0fb5d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9e6a680d-e68a-4776-b692-64899d0b3806 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4a44fbb1-35f8-4e8b-a28d-f4adfbcd76c6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-21a8b718-7138-4b47-880a-f0dc33160b09 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/b4388fd0-c0d3-4752-bd8a-f10342e3e2d4 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d0baebc7-134f-4fab-928a-df656a128c9d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device [0.069997s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-ac279f42-7c2f-49f5-897c-bddaf4f1a1ba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_by_name [0.076306s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-7fde04bb-6101-434b-b39b-85b5e3333cba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 null {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_storage_interface [0.092338s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/77c70eab-cd2e-402a-80df-4705fe0272af [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b316f2f-49d1-4a6c-93d7-e5b151ad8914 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/77c70eab-cd2e-402a-80df-4705fe0272af", "rel": "self"}, {"href": "http://localhost/nodes/77c70eab-cd2e-402a-80df-4705fe0272af", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/states", "rel": "self"}, {"href": "http://localhost/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "77c70eab-cd2e-402a-80df-4705fe0272af", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/volume", "rel": "self"}, {"href": "http://localhost/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:15.165120+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/ports", "rel": "self"}, {"href": "http://localhost/nodes/77c70eab-cd2e-402a-80df-4705fe0272af/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_network_interface_old_api [0.062198s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/779038c8-eeb6-4ee7-9cd1-95c45cf6d7c0 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-90e12501-8f04-48f8-bfb8-48303dcdeedd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_by_name [0.066434s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-b5e7733c-8310-4a73-85cb-a1f122685dbc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_get [0.063499s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_storage_interface_old_api [0.064869s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/d1f8c62b-6c25-4425-be42-7492aea20736 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5c0a9b69-3a52-427f-b6df-c8a926e06cbe X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_ok_by_name [0.090341s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/node-57 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9dd3f07b-0bf4-4e2a-84e7-b4ac8f2fc169 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:15.247184+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_not_supported [0.071130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-048eaf49-54e0-45e8-8b5a-f0979f25bd28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_methods [0.096934s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{u'foo': u'bar'} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_bad_request_missing_parameter [0.049960s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ecffccc9-23d7-4625-a767-510f7fe21ab2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"enabled\\\"\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_put [0.064173s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-94063639-62df-4551-83d9-c87b6568bb04 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_disabled [0.063469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'false'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-32976035-f12a-4316-bc40-d4c7845f285f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node [0.196803s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-c34cda14-9ba5-498c-9fe2-e028883834d0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_default_state_enroll [0.182970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-aff1787b-5333-4823-a8de-ba2e51fbfa4e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"target_power_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"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:15.421780+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'enroll', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:15.421780+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_abort_invalid_state [0.068022s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9934656b-fdcd-4e20-bcf0-19688cafda89 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_enabled [0.070807s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-aaf529f8-7c6b-43d6-aa68-79794be0ee1e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_error [0.052003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-70d4f9a2-9127-42b8-9922-34cbf9183b58 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_bad_requests_in_adopting_state [0.117186s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e8b0f2e4-0e27-4bd9-92ac-2158e7daa23d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3255ade-0e7d-4d85-b111-1181aaed13f7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4d2b53e4-6fc0-4c1c-bdcf-ad5702d05e45 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_explicit_storage_interface [0.167820s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-19f35757-2db5-4215-8851-1d219bae3272 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "cinder", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_chassis [0.034850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 0, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f1a5013f-bf5f-416c-ba23-28e4500ee1cb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 0.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_default_state_none [0.218999s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-efd3ecb3-191a-47c1-9ee0-cc05e118e33a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"target_power_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"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:15.591760+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:15.591760+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:15.591760+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_driver [0.046420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-63172c4f-fb30-44aa-b098-701cc07c6ac6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_bad_requests_in_managed_state [0.124510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0db3c87a-b4e5-4ff3-9950-3bee2e5928b0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c897668-e41e-410d-a16e-ca0f52999a1c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-889602a5-d0d5-4724-988b-e3d750333b84 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inject_nmi [0.059159s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-a53daab7-8ce0-4cb6-8263-5970a158e7ef X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_network_interface [0.092572s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'foo', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0911efc-cd06-42d0-9acf-9e0d04988160 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'noop', 'neutron'].\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inspect_validation_failed_status_code [0.064039s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-08b6f6d3-1930-42ea-849d-0272969411ec X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_doesnt_contain_id [0.174017s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'foo': 123}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7313103a-1767-4268-aca4-0b807d1594fc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"foo": 123}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:15.818440+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'foo': 123}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:15.818440+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_by_name [0.060464s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-bd4d29b0-9421-4847-ad97-49d6d53b5f75 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_storage_interface [0.113546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'foo', 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40a3d5de-f74c-4da0-9033-e914efc2effc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['cinder', 'noop'].\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_no_reason [0.424808s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-b2d37e25-a5a8-427b-9086-bff04e6bf31d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_name_empty_invalid [0.050800s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': ''} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4597ad10-4399-43d7-8858-5bc977395d0b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.058662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8dd2d003-8b27-4ecf-aa73-c4a30a9f0abe X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {0} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.023562s] ... ok {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_no_chassis_uuid [0.136535s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a6108a08-cf2a-4922-b228-913f98719c76 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:15.998420+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.019582s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provide_from_manage [0.066230s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-5b46fea9-5c79-4f48-98e9-fa71746259b2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_no_mandatory_field_driver [0.040472s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-093220e4-8edd-4d46-b2fb-172f9e64dd33 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute driver. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byid [0.081149s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-ae781d7d-14b0-4062-ae6b-c6fba75a1ac6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_resource_class_old_api_version [0.041260s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'resource_class': 'foo', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-298aaafe-a2f8-494e-a77b-e9e76948b0d7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_already_in_state [0.062376s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0ef8f71-9a5d-41db-99e4-7cbb02c98def X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byname [0.073624s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/fooname GOT:Response: 204 No Content Openstack-Request-Id: req-72772db9-e825-4d3d-b9bc-bd7e4a6d55a2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_node_in_maintenance_fail [0.064183s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-67e3a534-addf-41e4-b9b3-9409b0c836fc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_network_interface [0.206201s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'flat', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-6c05cc27-f71c-45f1-9b03-73285da9b0cf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:12:16.112411+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:12:16.112411+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_cleansteps_not_clean [0.064260s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': 'foo', 'target': 'provide'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6b737980-f15e-4b51-aa68-eba6129f26f4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is only valid when setting target provision state to clean\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_extra [0.170662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-6198b87a-0515-42be-b216-84c5a9102dab X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:12:16.214283+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:12:16.214283+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_collection_links [0.123599s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/?limit=3 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'921766ab-d226-4b0b-9acc-db9fda991514', u'links': [{u'href': u'http://localhost/v1/portgroups/921766ab-d226-4b0b-9acc-db9fda991514', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/921766ab-d226-4b0b-9acc-db9fda991514', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'0c1c6337-c893-48ab-80a0-7b85bb9fffa8', u'links': [{u'href': u'http://localhost/v1/portgroups/0c1c6337-c893-48ab-80a0-7b85bb9fffa8', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0c1c6337-c893-48ab-80a0-7b85bb9fffa8', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'9308b36e-bf1d-404a-a04c-f121eb706d2b', u'links': [{u'href': u'http://localhost/v1/portgroups/9308b36e-bf1d-404a-a04c-f121eb706d2b', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9308b36e-bf1d-404a-a04c-f121eb706d2b', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=9308b36e-bf1d-404a-a04c-f121eb706d2b'} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_configdrive_not_active [0.054276s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6b696552-6502-4579-88f7-5f5d741c13f9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_with_internal_field [0.040572s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'reservation': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7641f6a7-1c3e-4ee8-ac9a-e2eb1118de71 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute reservation. Value: 'fake'. Cannot set read only field.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_ports_subresource_no_node_id [0.043003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2620a0d6-a9a6-4792-a290-27c4589d3239 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node. Value: 'ports'. unable to convert to Node\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail [0.069158s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:16.345802+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_deploy_after_deployfail [0.064409s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-24c342da-e077-44b6-91a8-66ea3967eb5f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_invalid_api_version [0.036796s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_persistent_invalid_value [0.041850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75ec9158-8a5a-486d-9030-9f864901ed2c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute persistent. Value: 'blah'. unable to convert to boolean\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_volume_targets_subresource [0.061132s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a46cc1d2-7cee-4229-ab54-4d004450f60e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_console_not_supported [0.061848s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-69de662b-52cf-41f8-b5c3-c3eb58c12262 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_delete [0.063058s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-0a54ad70-d71a-4c5d-9afa-a2576fd65dfa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.083985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_sync [0.062886s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59363df4-dd81-4cfa-99eb-ccddf333665e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_custom_fields_invalid_fields [0.070973s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe261c38-45e2-44ea-939f-dc73429149f2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.045248s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{u'portgroups': []} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_abort_cleanwait [0.077562s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-5bf672e1-902d-4c8a-9c47-c9c0613abfb4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource_not_allowed [0.042603s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_from_active_fails [0.069681s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c2c59b59-90a1-486b-a522-b3770ccf2351 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key [0.098086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=uuid {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'1517336e-dd96-4df9-8261-5d96c4118a2d', u'links': [{u'href': u'http://localhost/v1/portgroups/1517336e-dd96-4df9-8261-5d96c4118a2d', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1517336e-dd96-4df9-8261-5d96c4118a2d', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'865ea590-75bd-4927-9549-c229b2a31107', u'links': [{u'href': u'http://localhost/v1/portgroups/865ea590-75bd-4927-9549-c229b2a31107', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/865ea590-75bd-4927-9549-c229b2a31107', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'c7366ee8-1b30-4797-a5b1-3ba5a4ba06d6', u'links': [{u'href': u'http://localhost/v1/portgroups/c7366ee8-1b30-4797-a5b1-3ba5a4ba06d6', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c7366ee8-1b30-4797-a5b1-3ba5a4ba06d6', u'rel': u'bookmark'}], u'name': u'portgroup2'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.272028s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-da2d4c6f-2902-491a-ac9c-2529dd0d209f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.012772s] ... ok {1} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byname_not_existed [0.055543s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b5d03ed1-4c2f-4d7e-a928-fe82c04f46bb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_multi [0.103550s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec0a6518-6575-46d1-af48-639bba0778e7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:16.799474+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_invalid_api_version [0.039417s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byname [0.082407s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/fooname [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-725062bf-77cd-49d1-a606-1c5e8a55129a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:12:16.895530+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPortgroupObject.test_portgroup_init [0.017606s] ... ok {1} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_node_locked [0.072223s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-53889cd9-5c7b-4b43-b745-de790cc09289 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_against_single [0.061076s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-43d40da0-7ba8-47a9-961a-91ccc3102963 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_specify_interfaces [0.835040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'boot_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '0a9cb1ae-6b61-438a-9b9a-34f30af90d3f'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f Openstack-Request-Id: req-5703acc0-be1b-4082-bfe1-4b1f7633c6a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f", "rel": "self"}, {"href": "http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/states", "rel": "self"}, {"href": "http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "0a9cb1ae-6b61-438a-9b9a-34f30af90d3f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/ports", "rel": "self"}, {"href": "http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'0a9cb1ae-6b61-438a-9b9a-34f30af90d3f', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0a9cb1ae-6b61-438a-9b9a-34f30af90d3f/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '0dae7a9f-0158-49b1-9178-944b9f3271b2', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2 Openstack-Request-Id: req-10541749-b863-45f1-ac59-34f221eead21 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2", "rel": "self"}, {"href": "http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/states", "rel": "self"}, {"href": "http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "0dae7a9f-0158-49b1-9178-944b9f3271b2", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/ports", "rel": "self"}, {"href": "http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'0dae7a9f-0158-49b1-9178-944b9f3271b2', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0dae7a9f-0158-49b1-9178-944b9f3271b2/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '0155c5cd-f6bb-44cf-8ffa-4f25db213679', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'deploy_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679 Openstack-Request-Id: req-ac3bb042-b6ef-45f6-94b0-48a6f80f49a3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679", "rel": "self"}, {"href": "http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/states", "rel": "self"}, {"href": "http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "0155c5cd-f6bb-44cf-8ffa-4f25db213679", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/ports", "rel": "self"}, {"href": "http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'0155c5cd-f6bb-44cf-8ffa-4f25db213679', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0155c5cd-f6bb-44cf-8ffa-4f25db213679/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '454f0a39-8c48-4565-bacc-1618e4ae95ff'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff Openstack-Request-Id: req-ab47da87-00c3-440a-a893-3b200524e8f6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff", "rel": "self"}, {"href": "http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/states", "rel": "self"}, {"href": "http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "454f0a39-8c48-4565-bacc-1618e4ae95ff", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/ports", "rel": "self"}, {"href": "http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff', u'rel': u'self'}, {u'href': u'http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'454f0a39-8c48-4565-bacc-1618e4ae95ff', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/454f0a39-8c48-4565-bacc-1618e4ae95ff/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': '19f0293d-6009-4cdc-bf4a-f6151bb9926c', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c Openstack-Request-Id: req-61fbaf87-d626-444a-af76-3b837aa879a8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c", "rel": "self"}, {"href": "http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/states", "rel": "self"}, {"href": "http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "19f0293d-6009-4cdc-bf4a-f6151bb9926c", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/ports", "rel": "self"}, {"href": "http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'19f0293d-6009-4cdc-bf4a-f6151bb9926c', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/19f0293d-6009-4cdc-bf4a-f6151bb9926c/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '3878c3c8-00c9-42ec-8612-68a7bda37128', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'power_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128 Openstack-Request-Id: req-e034798f-fc96-41e3-b473-d6e1a0868f28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128", "rel": "self"}, {"href": "http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/states", "rel": "self"}, {"href": "http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "3878c3c8-00c9-42ec-8612-68a7bda37128", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/ports", "rel": "self"}, {"href": "http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'3878c3c8-00c9-42ec-8612-68a7bda37128', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3878c3c8-00c9-42ec-8612-68a7bda37128/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': 'a324a02f-1d0f-4856-8030-388c8f024845'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845 Openstack-Request-Id: req-b8ccc7e9-f820-4bc7-97a6-ae63b5732bea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845", "rel": "self"}, {"href": "http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845/states", "rel": "self"}, {"href": "http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "a324a02f-1d0f-4856-8030-388c8f024845", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845/ports", "rel": "self"}, {"href": "http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'a324a02f-1d0f-4856-8030-388c8f024845', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/a324a02f-1d0f-4856-8030-388c8f024845/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a324a02f-1d0f-4856-8030-388c8f024845/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'vendor_interface': 'fake', 'uuid': 'd3ccdafb-15c8-4805-8f30-b7b2c8378f50'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50 Openstack-Request-Id: req-be3a3d0a-f4af-4102-a722-470a5783e9a5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50", "rel": "self"}, {"href": "http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/states", "rel": "self"}, {"href": "http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "d3ccdafb-15c8-4805-8f30-b7b2c8378f50", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/ports", "rel": "self"}, {"href": "http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/ports", "rel": "bookmark"}], "console_interface": "fake", "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'd3ccdafb-15c8-4805-8f30-b7b2c8378f50', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/portgroups', u'rel': u'bookmark'}], u'deploy_interface': u'fake', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': u'fake', u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d3ccdafb-15c8-4805-8f30-b7b2c8378f50/ports', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_sort_key_not_allowed [0.039080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e689f4cf-945b-4443-90a8-6d0871d8ea25 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_from_adoptfail [0.369192s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d08705b1-df31-4eb9-826e-743a484824ff X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_empty [0.044907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': []} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_address_already_exist [0.137000s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-769c61f8-3b9e-45a7-aacc-71e0077f4795 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:17.038891+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:aa:aa:11:22:33", "internal_info": {}, "properties": {}, "name": "fooname"} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '868ef8af-4749-44be-8b21-ea41e6ff6d33', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': '4f0f0b09-38c3-4ca4-94dc-fa6034ae59f8'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d717f0a2-7645-4b0b-b0df-ec71a08764d9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_collection_custom_fields [0.082360s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?fields=uuid,extra {} GOT:{u'portgroups': [{u'uuid': u'e2c3cb5a-1d0a-4fc6-a0f0-cb12a20b7875', u'links': [{u'href': u'http://localhost/v1/portgroups/e2c3cb5a-1d0a-4fc6-a0f0-cb12a20b7875', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e2c3cb5a-1d0a-4fc6-a0f0-cb12a20b7875', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'43b3bd0b-e36c-4bd5-9dd3-a0dc2406bfdf', u'links': [{u'href': u'http://localhost/v1/portgroups/43b3bd0b-e36c-4bd5-9dd3-a0dc2406bfdf', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/43b3bd0b-e36c-4bd5-9dd3-a0dc2406bfdf', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'a49925d7-06f7-42fd-ac7b-a469ccc826db', u'links': [{u'href': u'http://localhost/v1/portgroups/a49925d7-06f7-42fd-ac7b-a469ccc826db', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a49925d7-06f7-42fd-ac7b-a469ccc826db', u'rel': u'bookmark'}], u'extra': {}}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_specify_interfaces_bad_version [0.161807s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a21feb82-8aed-4dbd-9a3e-99b24e104a96 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f8b11e19-61ea-4a05-85b3-420205009a6c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'deploy_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-daa27ce4-a356-41c6-b78b-691876c51187 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-78f0e01b-4d99-44dd-adcf-5130ac870679 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ceaadf21-384a-418f-9759-81d539d95cb3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'power_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-76f7c6f1-b7d9-48c7-a3ce-c755f85fab20 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9abd4e83-2e08-4fe5-a8a0-ca28b6dbde4d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'vendor_interface': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-00fc7053-da7e-4a28-af7e-05843249c1b3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_bad_requests_in_adoption_failed_state [0.143946s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-daf30bab-29ee-40b7-a030-a00531de1ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53a4b667-9ad7-4a48-94ab-19cb6e471233 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5102873d-418a-4feb-b42a-03d9f7dcf87d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.044668s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d485aa9a-3aa8-4b49-a199-2328c18f2f30 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_doesnt_contain_id [0.139812s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'foo': 123}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-30f60602-6d5a-4e0a-84c9-8a7f41f2406e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:12:17.179868+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:12:17.179868+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_clean_check_steps_fail [0.065283s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': [{'interface': 'deploy', 'step': 'upgrade_firmware'}], 'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-460425c1-bdd2-49a5-a88b-39edb10c3900 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"bad\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one [0.058470s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:17.263569+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one_invalid_api_version [0.036329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_manage_from_adoptfail [0.068753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-58b08fdf-0c76-42d3-bb8b-2c9871df31ff X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_generate_uuid [0.128789s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a Openstack-Request-Id: req-4169988f-e6c4-4f05-abaf-e08f09114cba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "da75bcdc-e057-4b78-a51d-a47ba018c82a", "links": [{"href": "http://localhost/v1/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a", "rel": "self"}, {"href": "http://localhost/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:17.319492+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a/ports", "rel": "self"}, {"href": "http://localhost/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'da75bcdc-e057-4b78-a51d-a47ba018c82a', u'links': [{u'href': u'http://localhost/v1/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:17.319492+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/da75bcdc-e057-4b78-a51d-a47ba018c82a/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_by_address [0.087004s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'portgroups': [{u'address': u'aa:bb:cc:dd:ee:f1', u'uuid': u'd636f74f-638f-4d75-88d0-419cda8f2fc2', u'links': [{u'href': u'http://localhost/v1/portgroups/d636f74f-638f-4d75-88d0-419cda8f2fc2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d636f74f-638f-4d75-88d0-419cda8f2fc2', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_invalid_addr_format [0.053982s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'invalid-format', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48f864e6-6c14-4588-8973-72f04d91f134 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_change_when_being_cleaned [0.107902s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f92e5951-e153-4ae7-8f49-c1c325db004a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71eb146a-8b64-4243-bab9-576ca80f3eb8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.054610s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7179822a-c812-4ef1-ac97-6ed680d63703 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_invalid_api_version [0.058056s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-988cf107-93d4-42d1-91cf-cbd3c0ed58a2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_by_name_unsupported [0.048607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9939ba65-9b59-4735-a634-c5ea53a661fb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.048748s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/c109e67e-5680-4273-aa54-f33798e279c7/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_invalid_node_uuid_format [0.057654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': 'invalid-format', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bea65665-5693-4411-a0cd-31b4d3538f6a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.062548s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-830c815a-35ea-4f18-a365-64a33051d586 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.051734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-88ed79ef-4e9d-4f93-8a30-8d4fb26b3259 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_mode_old_api_version [0.079346s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d719c59d-db77-4639-a139-72c18c057650 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'properties': {'bond_prop': 123}, 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c89493bf-6dea-4941-b4eb-3f6ae9eebbd5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_driver_info [0.436828s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7c1306ff-d2db-4186-9a15-d574bd2c0b87 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_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"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:12:17.573645+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:12:17.573645+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.066566s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6043935f-eabb-4b4f-bf45-7abd76d4c855 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key_allowed [0.090293s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=mode {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'b42b4c88-a2b7-4dde-8cfa-d466ed241247', u'links': [{u'href': u'http://localhost/v1/portgroups/b42b4c88-a2b7-4dde-8cfa-d466ed241247', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/b42b4c88-a2b7-4dde-8cfa-d466ed241247', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'709610f7-b7dd-4971-a06e-78b83b432dc4', u'links': [{u'href': u'http://localhost/v1/portgroups/709610f7-b7dd-4971-a06e-78b83b432dc4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/709610f7-b7dd-4971-a06e-78b83b432dc4', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'31822f6b-5f39-4e79-bd34-9686c91e747e', u'links': [{u'href': u'http://localhost/v1/portgroups/31822f6b-5f39-4e79-bd34-9686c91e747e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/31822f6b-5f39-4e79-bd34-9686c91e747e', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_name_invalid [0.063659s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'aa:bb_cc'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e9b2c04-b5ac-4df2-8a1a-be128175fb44 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.055847s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-76067173-466a-40ef-807f-f6b8a5012af9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_volume_connectors_subresource [0.066476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d2bde171-a2e3-46d6-ae04-84c072a678a6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_node_uuid_not_found [0.062475s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c28f2af-7119-4cf6-8600-d2add7e23c51 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_no_such_method [0.048251s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2962bce9-3212-499a-822c-72667ef4b36f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support test (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key_invalid [0.076475s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3d4a8906-0732-4305-b121-f0aff34712d5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e943248a-6bd6-41cb-8019-542de8a73c13 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e09036d-adda-447b-96f3-06a36a02787d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef74bd20-bab0-4add-a46b-48ed627fc69e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.062877s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1aa7d5c4-3e99-4e7e-8727-c28a1082bb62 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key_not_allowed [0.052026s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bd80b66c-e993-4d02-b11e-3899b46800b6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestDelete.test_delete_port_byaddress [0.063736s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80d337c6-f56b-4b8e-b4f7-8e224e070f7f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_already_in_progress [0.067904s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-22049f64-da00-48cd-a32e-6cfe489ac6eb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_from_manage [0.083742s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9d5775af-22f9-4a66-aa32-9cfe924632a8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_raises_error_before_1_17 [0.048348s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-72e63b9c-28be-493d-a348-6b6c0597fc9a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestDelete.test_delete_port_byid [0.077288s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-22504a7b-c980-44ff-b133-c5615f9fe3b4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_address [0.086154s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f84f4580-7fe2-43d1-b26d-d45d92b62215 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:17.843647+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": null, "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_tear_down [0.080967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-32e41fd8-b55f-48d6-a115-405cded4f926 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_clean [0.083851s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': [{'interface': 'deploy', 'step': 'upgrade_firmware'}], 'target': 'clean'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-7be5fbe7-3bc0-4f8b-85c9-c562814fdf0b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid_invalid_parameter_value [0.059714s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-523f9b0f-693b-4af8-a572-f4759a29f2e6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"foo\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestDelete.test_delete_port_node_locked [0.090167s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5ad06927-b470-4be6-8eb9-5cff3134a96d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byid [0.092495s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52979840-d912-4c12-a08a-5ae9b7c52d99 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:12:17.933200+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_by_name_unsupported [0.046874s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9664421e-d908-44c0-b9ea-e42004012522 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_clean_no_cleansteps [0.079805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d941789e-df8e-46fa-9269-cc43d1ba1e49 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_invalid_name [0.066279s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/fooname [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-124c42d7-5f71-493b-995a-7113e7928517 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup fooname: Cannot change name to invalid name 'aa:bb_cc'\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_by_name [0.048691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-e93ee477-64d7-4a16-a140-ea1300abdf26 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.012659s] ... ok {3} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.018332s] ... ok {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_collection_links [0.128294s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/?limit=3 {} GOT:{u'ports': [{u'uuid': u'8eec3980-988c-4a15-ac85-5ec03762678e', u'links': [{u'href': u'http://localhost/v1/ports/8eec3980-988c-4a15-ac85-5ec03762678e', u'rel': u'self'}, {u'href': u'http://localhost/ports/8eec3980-988c-4a15-ac85-5ec03762678e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'3b140837-8626-40c4-ac84-ffcbcd4edb72', u'links': [{u'href': u'http://localhost/v1/ports/3b140837-8626-40c4-ac84-ffcbcd4edb72', u'rel': u'self'}, {u'href': u'http://localhost/ports/3b140837-8626-40c4-ac84-ffcbcd4edb72', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'94fdf001-d6db-4b27-92dc-5a4b90624f0e', u'links': [{u'href': u'http://localhost/v1/ports/94fdf001-d6db-4b27-92dc-5a4b90624f0e', u'rel': u'self'}, {u'href': u'http://localhost/ports/94fdf001-d6db-4b27-92dc-5a4b90624f0e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=3&marker=94fdf001-d6db-4b27-92dc-5a4b90624f0e'} {3} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.015282s] ... ok {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inject_nmi_not_supported [0.075645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9589158-3ddf-470e-995a-16eccb38da83 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.079150s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7587eeab-dbc0-432d-aa78-ca70da1afe6b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'value': 123, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a7173c96-4ed8-4263-a7a2-b6965d0970b4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_against_single [0.065245s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b8f7121-d397-4df0-a6f9-89e47be85e49 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inspect_already_in_progress [0.081547s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fd2aec88-5894-481c-9773-357caa32eb49 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_collection_links_default_limit [0.097313s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'fbac1122-03a2-4011-bee8-299b2dbf4824', u'links': [{u'href': u'http://localhost/v1/portgroups/fbac1122-03a2-4011-bee8-299b2dbf4824', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/fbac1122-03a2-4011-bee8-299b2dbf4824', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'913e15d9-c025-4292-896f-781173b1bb0c', u'links': [{u'href': u'http://localhost/v1/portgroups/913e15d9-c025-4292-896f-781173b1bb0c', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/913e15d9-c025-4292-896f-781173b1bb0c', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'f06dffc5-c5a6-4af4-afee-c1aebc6ebbe2', u'links': [{u'href': u'http://localhost/v1/portgroups/f06dffc5-c5a6-4af4-afee-c1aebc6ebbe2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f06dffc5-c5a6-4af4-afee-c1aebc6ebbe2', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=f06dffc5-c5a6-4af4-afee-c1aebc6ebbe2'} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_empty [0.057062s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': []} {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_address_normalized [0.109615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:BB:CC:DD:EE:FF', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-8909933f-b028-4b09-aae6-a4ff9ebd58a5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:18.206283+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.206283+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'aa:bb:cc:dd:ee:ff', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inspect_validation_failed_missing_parameter_value [0.078372s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a8d60fc-e4ed-4ef0-9bf0-aabb6451a289 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_sort_key_allowed [0.087829s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?sort_key=mode {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'de157b0e-07d7-4de0-b630-0fcbcba912ca', u'links': [{u'href': u'http://localhost/v1/portgroups/de157b0e-07d7-4de0-b630-0fcbcba912ca', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/de157b0e-07d7-4de0-b630-0fcbcba912ca', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.253527+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'mode_1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/de157b0e-07d7-4de0-b630-0fcbcba912ca/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/de157b0e-07d7-4de0-b630-0fcbcba912ca/ports', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'47b4cec7-a332-435f-bc9e-2d26177f6764', u'links': [{u'href': u'http://localhost/v1/portgroups/47b4cec7-a332-435f-bc9e-2d26177f6764', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/47b4cec7-a332-435f-bc9e-2d26177f6764', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.250508+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'mode_2', u'address': u'52:54:00:cf:2d:32', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/47b4cec7-a332-435f-bc9e-2d26177f6764/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/47b4cec7-a332-435f-bc9e-2d26177f6764/ports', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'cac18024-90a9-49c5-a533-64debfeba892', u'links': [{u'href': u'http://localhost/v1/portgroups/cac18024-90a9-49c5-a533-64debfeba892', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/cac18024-90a9-49c5-a533-64debfeba892', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.247485+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'mode_3', u'address': u'52:54:00:cf:2d:33', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/cac18024-90a9-49c5-a533-64debfeba892/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/cac18024-90a9-49c5-a533-64debfeba892/ports', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_name [0.089825s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=fooname {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:18.282018+00:00'}]} {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_default_mode [0.083144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-e95b7991-cce0-4276-81c1-6e5eaf286dff X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:18.317950+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_all_by_node_uuid_ok [0.060724s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.337525+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_manage_from_available [0.080802s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-7bdd429f-b512-42f5-aa43-84ef22063f95 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.060437s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4&node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-53ae4eae-a92a-472c-8fa4-687f6764dbc9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_internal_info_not_allowed [0.052272s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'internal_info': 'info', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e80e9a5-cfdb-4df1-8959-394fe969a8f6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute portgroup. Value: '{'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'internal_info': 'info', 'name': 'fooname'}'. Value not a valid dict: info\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one_custom_fields [0.062170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} GOT:{u'address': u'52:54:00:cf:2d:31', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.066412s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c66a8086-00d6-4456-8cf7-8ea9e7df8e84 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_collection_custom_fields [0.106225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?fields=uuid,extra {} GOT:{u'ports': [{u'uuid': u'0d01b82b-fea4-4e09-8eea-ae9aebd5f250', u'links': [{u'href': u'http://localhost/v1/ports/0d01b82b-fea4-4e09-8eea-ae9aebd5f250', u'rel': u'self'}, {u'href': u'http://localhost/ports/0d01b82b-fea4-4e09-8eea-ae9aebd5f250', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'54c64f0c-06df-451b-bbc2-7a297a6eeb67', u'links': [{u'href': u'http://localhost/v1/ports/54c64f0c-06df-451b-bbc2-7a297a6eeb67', u'rel': u'self'}, {u'href': u'http://localhost/ports/54c64f0c-06df-451b-bbc2-7a297a6eeb67', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'eef71751-2762-46ce-8e84-8450fecaae1b', u'links': [{u'href': u'http://localhost/v1/ports/eef71751-2762-46ce-8e84-8450fecaae1b', u'rel': u'self'}, {u'href': u'http://localhost/ports/eef71751-2762-46ce-8e84-8450fecaae1b', u'rel': u'bookmark'}], u'extra': {}}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.066620s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a18b6033-ca6b-4ccb-82f8-34bc62f03785 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_valid_extra [0.121917s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-47b95d3e-c5dc-470e-88f8-18c601132a1a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:12:18.469453+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:12:18.469453+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_links [0.122956s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'696bdd1b-924d-4979-9678-2456b07b8b34', u'links': [{u'href': u'http://localhost/v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.459945+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'696bdd1b-924d-4979-9678-2456b07b8b34', u'links': [{u'href': u'http://localhost/v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.459945+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /portgroups/696bdd1b-924d-4979-9678-2456b07b8b34 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'696bdd1b-924d-4979-9678-2456b07b8b34', u'links': [{u'href': u'http://localhost/v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.459945+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/696bdd1b-924d-4979-9678-2456b07b8b34/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.065823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-de9f8a2f-4302-445f-bc74-2548f88c3fa6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_invalid_fields [0.079753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0db0f512-aa27-464f-8a71-bb09073aecb2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestDelete.test_portgroups_subresource_delete [0.060408s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/1ee0f896-0929-493b-b9ed-60a057263163 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-93c7509d-6ab9-4a9c-9cdc-041c1057e9ff X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_by_node_name_not_supported [0.044732s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-aff58f46-1ea7-44ec-9cd8-9455d8eb0f88 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.066755s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-00cde9bf-0213-40d4-9f6e-5767efa5ae46 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_physical_network [0.090990s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fac0e124-8aa8-461a-bcb1-1d912bdfd436 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:{u'physical_network': u'physnet1', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_many [0.120049s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'06b8498a-935a-498e-a070-45ce08a6dd7f', u'links': [{u'href': u'http://localhost/v1/portgroups/06b8498a-935a-498e-a070-45ce08a6dd7f', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/06b8498a-935a-498e-a070-45ce08a6dd7f', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'f9ffd2eb-0ffe-4325-84bd-ccc9dab6c849', u'links': [{u'href': u'http://localhost/v1/portgroups/f9ffd2eb-0ffe-4325-84bd-ccc9dab6c849', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f9ffd2eb-0ffe-4325-84bd-ccc9dab6c849', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'87555adb-f41c-458f-bc32-f7acdb4d2a21', u'links': [{u'href': u'http://localhost/v1/portgroups/87555adb-f41c-458f-bc32-f7acdb4d2a21', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/87555adb-f41c-458f-bc32-f7acdb4d2a21', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'bde8de84-52c8-4d22-a316-709cd002cb1f', u'links': [{u'href': u'http://localhost/v1/portgroups/bde8de84-52c8-4d22-a316-709cd002cb1f', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/bde8de84-52c8-4d22-a316-709cd002cb1f', u'rel': u'bookmark'}], u'name': u'portgroup3'}, {u'address': u'52:54:00:cf:2d:34', u'uuid': u'df4b3f0b-3caf-4550-a58c-7223ac2f89f7', u'links': [{u'href': u'http://localhost/v1/portgroups/df4b3f0b-3caf-4550-a58c-7223ac2f89f7', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/df4b3f0b-3caf-4550-a58c-7223ac2f89f7', u'rel': u'bookmark'}], u'name': u'portgroup4'}]} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_by_node_name_ok [0.062523s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node=test-node {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.661734+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.067270s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1a61f49b-eda2-4795-87d1-b03e54f7bef5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.046476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-85094e89-9e92-4e36-94f7-9b74d9d7c75a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_one [0.086303s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.712521+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_sort_key_allowed [0.075083s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'b43abae0-8450-4e71-abd0-60e2e4ac4f2f', u'links': [{u'href': u'http://localhost/v1/ports/b43abae0-8450-4e71-abd0-60e2e4ac4f2f', u'rel': u'self'}, {u'href': u'http://localhost/ports/b43abae0-8450-4e71-abd0-60e2e4ac4f2f', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:18.726754+00:00'}, {u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'842d541f-0512-40b7-b8f7-953d82b2cf99', u'links': [{u'href': u'http://localhost/v1/ports/842d541f-0512-40b7-b8f7-953d82b2cf99', u'rel': u'self'}, {u'href': u'http://localhost/ports/842d541f-0512-40b7-b8f7-953d82b2cf99', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:18.729751+00:00'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.072779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-375c975d-a2e0-4f3c-9205-1754f59d0d06 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_node_name_not_supported [0.048883s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d30568ab-d8cd-4fdc-9161-495240b281fb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_one_custom_fields [0.078964s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} GOT:{u'address': u'52:54:00:cf:2d:31', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.064785s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-5a64e871-a209-40b8-900c-8440c96c9021 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_invalid_api_version [0.041585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b3702fac-8f85-4c0d-83ff-6ecc443ac2d6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_by_name_unsupported [0.051086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-57694477-fea8-4a7f-955d-67785fb6c612 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_one [0.078206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource [0.198085s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/780f0a66-faa6-421b-b522-3e69cbfc658e/ports {} GOT:{u'ports': [{u'uuid': u'3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'links': [{u'href': u'http://localhost/v1/ports/3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'rel': u'self'}, {u'href': u'http://localhost/ports/3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'32bb4c5d-5c97-4500-a570-8bef93aa2e6c', u'links': [{u'href': u'http://localhost/v1/ports/32bb4c5d-5c97-4500-a570-8bef93aa2e6c', u'rel': u'self'}, {u'href': u'http://localhost/ports/32bb4c5d-5c97-4500-a570-8bef93aa2e6c', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/portgroups/780f0a66-faa6-421b-b522-3e69cbfc658e/ports/detail {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'links': [{u'href': u'http://localhost/v1/ports/3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'rel': u'self'}, {u'href': u'http://localhost/ports/3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'780f0a66-faa6-421b-b522-3e69cbfc658e', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:18.755305+00:00'}, {u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'32bb4c5d-5c97-4500-a570-8bef93aa2e6c', u'links': [{u'href': u'http://localhost/v1/ports/32bb4c5d-5c97-4500-a570-8bef93aa2e6c', u'rel': u'self'}, {u'href': u'http://localhost/ports/32bb4c5d-5c97-4500-a570-8bef93aa2e6c', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'780f0a66-faa6-421b-b522-3e69cbfc658e', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:18.759992+00:00'}]} GET: /v1/portgroups/780f0a66-faa6-421b-b522-3e69cbfc658e/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'links': [{u'href': u'http://localhost/v1/ports/3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'rel': u'self'}, {u'href': u'http://localhost/ports/3e081cb8-7e8f-4307-ab94-0cf1095209a2', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=1&marker=3e081cb8-7e8f-4307-ab94-0cf1095209a2'} GET: /v1/portgroups/780f0a66-faa6-421b-b522-3e69cbfc658e/ports/6d20ad1f-3e28-4d43-9c7e-78663f6aff8e {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/portgroups/780f0a66-faa6-421b-b522-3e69cbfc658e/ports/0f800574-5c6d-42d2-b2ad-c20e7fff8fb4 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-269cf459-a708-4732-91c0-807dfad0a34a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.088490s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.899967+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch', u'port_id': u'Gig0/1', u'switch_id': u'aa:bb:cc:dd:ee:ff'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'created_at': u'2017-10-31T14:12:18.899967+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_node_id [0.049833s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-828e2c3a-7336-4773-b208-32b71e0a94ce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_deploy [0.070234s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-44829250-c138-408b-9ba2-8d18de0911dc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_sort_key [0.111484s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=uuid {} GOT:{u'ports': [{u'uuid': u'1b6cca2b-a6d5-474f-bc98-2d3c8b00fc4e', u'links': [{u'href': u'http://localhost/v1/ports/1b6cca2b-a6d5-474f-bc98-2d3c8b00fc4e', u'rel': u'self'}, {u'href': u'http://localhost/ports/1b6cca2b-a6d5-474f-bc98-2d3c8b00fc4e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'1fd5eb1e-8a7c-42e8-920d-26b4f3b7e712', u'links': [{u'href': u'http://localhost/v1/ports/1fd5eb1e-8a7c-42e8-920d-26b4f3b7e712', u'rel': u'self'}, {u'href': u'http://localhost/ports/1fd5eb1e-8a7c-42e8-920d-26b4f3b7e712', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'4047d6e2-f172-41b5-8bb2-29aaa687a25c', u'links': [{u'href': u'http://localhost/v1/ports/4047d6e2-f172-41b5-8bb2-29aaa687a25c', u'rel': u'self'}, {u'href': u'http://localhost/ports/4047d6e2-f172-41b5-8bb2-29aaa687a25c', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_deploy_configdrive [0.059691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': 'foo'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-84531bff-ad82-4e15-aa1d-7e9dc8e306c8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.085257s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.988604+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:18.988604+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'foo': u'bar'}} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_root [0.076883s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97251d0d-ee23-4040-ad98-16bb2ba0e8e6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:18.999893+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_port_by_address_non_existent_address [0.046202s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{u'ports': []} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_root_non_existent [0.044981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81fa6b27-da1f-4d79-b45b-5a878f149162 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.079831s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2d755cd4-cfc2-41ca-a0e4-387f5956cd31 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_sort_key_allowed [0.096729s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=pxe_enabled {} GOT:{u'ports': [{u'uuid': u'21defeb3-40d7-483e-a01a-e9598ca3e67c', u'links': [{u'href': u'http://localhost/v1/ports/21defeb3-40d7-483e-a01a-e9598ca3e67c', u'rel': u'self'}, {u'href': u'http://localhost/ports/21defeb3-40d7-483e-a01a-e9598ca3e67c', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'a7960012-3b7e-44e2-a121-6e5795bd837a', u'links': [{u'href': u'http://localhost/v1/ports/a7960012-3b7e-44e2-a121-6e5795bd837a', u'rel': u'self'}, {u'href': u'http://localhost/ports/a7960012-3b7e-44e2-a121-6e5795bd837a', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_portgroups_subresource_node_not_found [0.034695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_mode_not_allowed [0.051784s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd3db210-1dee-49e0-bf8e-68ef5234a0de X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/mode' is a mandatory attribute and can not be removed\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_sort_key_not_allowed [0.042912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5abd061b-c0fa-4ec0-8305-8dddf70c657e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid_older_version [0.058769s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e00bc737-ee20-4061-914f-98640d680593 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_portgroups_subresource_patch [0.076021s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/0d36d2d8-8e56-4a29-bcd4-603312df5fc1 [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0c4ff574-5036-4497-a05a-30acbfbcefa8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_node_id [0.050944s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e144db7-a3ba-417f-8eb9-a4367019ecb8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_persistent [0.060786s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-03b0681a-93e6-4ba7-9699-f6a14b80c856 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_physical_network_upgrade [0.075717s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0b6e13a5-86e0-43d7-8625-76585aa52faa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_multi [0.137813s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52eb266f-7a4a-43cb-aaf8-61da370e7f4b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:19.174574+00:00", "updated_at": "2017-10-31T14:12:19.184003+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6aa5ada8-2b13-4a7e-a04b-dd6439936c8a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:19.174574+00:00", "updated_at": "2017-10-31T14:12:19.184003+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_by_name [0.060987s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states/console Openstack-Request-Id: req-971b4611-cc76-4a44-8ad0-445a5a5d503d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_root [0.093985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4e958dd-9516-448f-b31b-6bee9b59d7e1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:19.255216+00:00", "updated_at": "2017-10-31T14:12:19.306512+00:00", "address": "aa:bb:cc:dd:ee:ff"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_uuid [0.050084s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f9d9ddad-57e1-403d-a89a-941e4b4c6822 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_bad_request [0.056980s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'invalid-value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fcdc5981-07ce-443a-8c7f-9ec38bfd67a1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute enabled. Value: 'invalid-value'. unable to convert to boolean\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_physical_network_upgrade [0.079468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9aad393c-ae13-4a78-9036-f2d76a8448e9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_root_non_existent [0.054267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-987abbfa-ae12-4447-8588-20dd4471da29 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_address_already_exist [0.074789s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-40fad9a2-f549-4b66-8898-ef79d293a965 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode [0.054465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-f8b844ff-334d-4fdd-be26-7e55396ca726 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_invalid_physnet_too_long [0.054234s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f44b7b86-8c1d-4aed-ac88-6ac75c467cac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {2} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.016171s] ... ok {2} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.018388s] ... ok {2} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.015647s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_mandatory_field [0.047666s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0300488f-3cf8-47a0-bb3c-8cb915b8fe97 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/address' is a mandatory attribute and can not be removed\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid [0.134873s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'a05436c3-ce22-4c76-b4bd-90553e62eeb1', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ef2722f-1737-4f6c-8289-9c9f37291983 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "a05436c3-ce22-4c76-b4bd-90553e62eeb1", "updated_at": "2017-10-31T14:12:19.471383+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:12:19.399953+00:00"} {2} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byaddress [0.040818s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 52:54:00:cf:2d:31. "} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_multi [0.109228s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-923415a1-9044-4838-a8b8-3f9cd3fa20ce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:12:19.445337+00:00", "updated_at": "2017-10-31T14:12:19.451442+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_non_existent_property_fail [0.053645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ac96594d-fd8e-4516-92f3-83d320074d7b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_set_pxe_enabled_false_old_api [0.065287s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': False, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-188ec203-d20e-4297-a370-54e785d10f47 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_node_id [0.055983s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bec8abf1-cd31-49bf-8248-fa35456fdb39 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPortObject.test_port_init [0.020781s] ... ok {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_by_node_name_ok [0.080651s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?node=test-node {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:19.552135+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_physical_network_old_api_version [0.058588s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8cfa7587-c532-4475-901e-246005c63a90 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.026862s] ... ok {0} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.021608s] ... ok {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_non_existent_node_uuid [0.065810s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dc36bb94-e579-4365-9dd9-1d05ba0f2868 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_local_link_connection [0.094655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d5ba69b-ce9f-48b9-bfd9-0888e367e5c4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "aa:bb:cc:dd:ee:ff"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2017-10-31T14:12:19.628494+00:00", "updated_at": "2017-10-31T14:12:19.680020+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_all_by_node_name_ok [0.112867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?node=test-node {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'e2ca1bd2-e8ff-4b45-ad58-12f5e52947bb', u'links': [{u'href': u'http://localhost/v1/portgroups/e2ca1bd2-e8ff-4b45-ad58-12f5e52947bb', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e2ca1bd2-e8ff-4b45-ad58-12f5e52947bb', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'ca48742b-9ff4-4715-aff0-1104000dca5e', u'links': [{u'href': u'http://localhost/v1/portgroups/ca48742b-9ff4-4715-aff0-1104000dca5e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/ca48742b-9ff4-4715-aff0-1104000dca5e', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'd81e9f63-d946-4594-b23a-79b988102e68', u'links': [{u'href': u'http://localhost/v1/portgroups/d81e9f63-d946-4594-b23a-79b988102e68', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d81e9f63-d946-4594-b23a-79b988102e68', u'rel': u'bookmark'}], u'name': u'portgroup2'}]} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_address_already_exist [0.094102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'AA:AA:AA:11:22:33'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8da17743-7666-46b6-a2cf-09f3ebb20048 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_singular [0.093394s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fb183cf-fe94-4c64-ad2e-8e8e2e96611a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:19.676846+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.042836s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-90590ee7-8e40-49d8-99b8-4f427d021eba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_address_invalid_format [0.052976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-209ad038-903f-411f-b43c-95b666f2a3e0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_multi [0.098130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d720c80-850c-48d1-ab41-f8ddb7bd194d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:12:19.726506+00:00", "updated_at": "2017-10-31T14:12:19.778732+00:00", "address": "52:54:00:cf:2d:31"} {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_one [0.070528s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'name': u'fooname'}]} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byid_invalid_api_version [0.045510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_non_existent_node_uuid [0.062311s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-20a867f3-9c50-4cdd-bf60-bc9b35c621fb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_internal_info_not_allowed [0.047997s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/internal_info', 'value': False, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bf125086-25ce-4809-a56d-f16af40d9ff9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/internal_info' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_doesnt_contain_id [0.165260s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'foo': 123}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7e031d89-2948-45e2-91d4-7b74fcd35464 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:19.825585+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2017-10-31T14:12:19.825585+00:00'} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_node_uuid [0.095684s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f5f62cc-3d8a-4ac4-a1cb-360791f96c77 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:19.862276+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_singular [0.088179s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2caf311d-e1ca-4890-8abb-0908232285f5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:19.891792+00:00", "updated_at": "2017-10-31T14:12:19.935063+00:00", "address": "aa:bb:cc:dd:ee:ff"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_node_uuid_not_found [0.067694s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0aed82a-2cc0-42b7-b589-1df2bf884a22 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_node_id [0.053579s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d49ddadb-68c8-4181-9202-2270058133ec X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_mode_properties [0.092432s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-069e96f1-39e1-48ec-8311-2be67efadc33 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:19.919772+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {"bond_param": "100"}, "name": "fooname"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_non_existent_property_fail [0.049866s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e964c011-c2fc-4444-94d7-caef1ce4c049 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_error [0.057510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-12936512-d576-4a18-be1f-6357ac001700 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_byid [0.097532s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-66ab6814-5782-4362-8af4-ba2eadfe4675 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:12:19.982042+00:00", "updated_at": "2017-10-31T14:12:20.031631+00:00", "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_pxe_noportgroup [0.117742s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f3bb026b-9d83-4421-95ce-bea509523b6e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:20.066114+00:00"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_not_found [0.048805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/599dd552-e0a6-4b1a-ac54-99035e68f556 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0d5cdccb-c878-4381-8b73-29fe66dcd9b6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port 599dd552-e0a6-4b1a-ac54-99035e68f556 could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_node_uuid [0.083686s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-483adc29-2714-4788-979e-4c54108e4ebf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.059314+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_v123 [0.107010s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-c6cb6549-4ebd-4c80-88ca-c39ca1d4ec48 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byaddress_not_allowed [0.039233s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 52:54:00:cf:2d:31. "} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_with_hyphens_delimiter [0.046442s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52-54-00-cf-2d-31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d955cbb-17f5-47ed-aa01-43f0b6b93d87 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_port_address_normalized [0.095615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e530dc6-d2ae-40b6-a8e2-04938877a8bc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.133677+00:00", "updated_at": "2017-10-31T14:12:20.181140+00:00", "address": "aa:bb:cc:dd:ee:ff"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_not_found [0.056094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/b8ee9dd6-8a84-4a6d-9c45-f5646fff43a8 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-61169900-ee42-44fe-997d-4f53d7220b8d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup b8ee9dd6-8a84-4a6d-9c45-f5646fff43a8 could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.126640s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a4d20cb3-db0a-4a39-a960-9d6b391ad3aa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:20.183072+00:00"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_node_uuid_to_node_id_mapping [0.074368s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-71cb7310-f85c-4d09-b813-2c314b2cd033 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.249758+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_different_nodes [0.071838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': 'b801ff57-885e-4fea-9e0c-e02044ba2eb8', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4cd0bc3e-0b60-4c1e-bf5b-b89ba7ca70c4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node b801ff57-885e-4fea-9e0c-e02044ba2eb8 could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_pxe_enabled_allowed [0.090846s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-37597a6d-f55e-4942-9e57-c6adfb10cb40 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2017-10-31T14:12:20.230053+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_address_normalized [0.089108s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-183f971c-d479-4715-a197-c1a01330ab0a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.241856+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail [0.073326s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch', u'port_id': u'Gig0/1', u'switch_id': u'aa:bb:cc:dd:ee:ff'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:20.307379+00:00'}]} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_addr_format [0.057566s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'invalid-format'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4bc02e44-5537-4c97-a9c3-3ea5724a0e1b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_standalone_ports_supported [0.087596s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1fb0320a-cd31-4755-89e5-8516ac07b7ea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.331074+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": false, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_physical_network [0.115564s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-43533d98-1d50-4b21-bc39-cb9ad3820365 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:20.372079+00:00"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_physnet_non_text [0.063112s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 1234, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b07c80b3-5d20-4f4f-b032-490fb3493ce4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.046243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_node_name_ok [0.100782s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?node=test-node {} GOT:{u'ports': [{u'uuid': u'49ec18f7-db22-4954-9981-7aae47da8f6e', u'links': [{u'href': u'http://localhost/v1/ports/49ec18f7-db22-4954-9981-7aae47da8f6e', u'rel': u'self'}, {u'href': u'http://localhost/ports/49ec18f7-db22-4954-9981-7aae47da8f6e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'56579daf-a3b8-44ed-8f16-43ee6f7e25ca', u'links': [{u'href': u'http://localhost/v1/ports/56579daf-a3b8-44ed-8f16-43ee6f7e25ca', u'rel': u'self'}, {u'href': u'http://localhost/ports/56579daf-a3b8-44ed-8f16-43ee6f7e25ca', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'37892db5-cb91-475b-a883-a153e90d7f78', u'links': [{u'href': u'http://localhost/v1/ports/37892db5-cb91-475b-a883-a153e90d7f78', u'rel': u'self'}, {u'href': u'http://localhost/ports/37892db5-cb91-475b-a883-a153e90d7f78', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_physnet_too_long [0.060961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3a62a93-8e07-47e7-b101-9d0341216997 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_portgroups_subresource_post [0.087092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f8a0a936-31cc-4701-8b12-449ebe30f096 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_node_uuid_and_name [0.069224s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:20.474685+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup [0.100059s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-fdcfd99b-4a86-4355-b9fc-187e3ca61564 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {0} ironic.tests.unit.api.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.054343s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/heartbeat/2660bec5-878a-43a8-9475-114d0bcd9e2a {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d9ab9669-46ff-4d72-bcd3-d661146359c1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 2660bec5-878a-43a8-9475-114d0bcd9e2a could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_missing_optional [0.093033s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6400d683-a3ee-4abd-bbd5-b78ebaa2d5a2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:20.554489+00:00"} {0} ironic.tests.unit.api.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.035068s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/heartbeat/6006dc74-9229-4f44-a4e2-5449fef48998 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44cac8a9-2c5e-42dd-842e-7d795cd78fac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_uuid [0.082064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:20.551779+00:00'}]} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_mode_properties [0.072875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'address': '52:54:00:cf:2d:31', 'properties': {'bond_prop': 123}, 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-6c122576-881d-43af-a851-7c11d1456ac9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.588747+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {"bond_prop": 123}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.064111s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': 'zz:zz:zz:zz:zz:zz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eced5526-ca36-42cd-bede-bf58e8b4b402 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.045484s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7be1cf00-e8a5-44d9-8d20-6c24fc9770ce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.084496s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?node_uuid=3facc478-1bf0-4823-94a8-1471b42d23a6 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'3facc478-1bf0-4823-94a8-1471b42d23a6', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/3facc478-1bf0-4823-94a8-1471b42d23a6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3facc478-1bf0-4823-94a8-1471b42d23a6', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_no_mandatory_field_node_uuid [0.048510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c448f61-e54a-4457-94ff-6145ad531cee X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_name_ok [0.093063s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'foo'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-f55b5d78-16f1-4acb-b1d0-b94e7c4ca65b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.660584+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:aa:aa:11:22:33", "internal_info": {}, "properties": {}, "name": "foo"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:20.660584+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'aa:aa:aa:11:22:33', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'foo'} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_one_portgroup_is_none [0.062762s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:20.674345+00:00'} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_not_found [0.059214s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-41ccf214-855a-40ac-abb1-a8d85443d96e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_nothing_provided [0.046409s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02ccf26d-3f87-41ff-9749-31d1fd56d107 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.098520s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-83810f3e-d778-4426-8b9b-ae531486d2ca X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:20.770959+00:00"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.088595s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:20.738035+00:00'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:20.738035+00:00'} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_no_address [0.101851s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-db3dfdb0-1531-4c98-867e-4583eeed23e2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:20.758223+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": null, "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:20.758223+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': None, u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.061917s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=b25e4b20-a0e1-4ee9-b870-486cf2168818 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c50497f1-701b-418c-a839-6f02d3c573b7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.012904s] ... ok {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.051691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3fd51072-fc6f-40f4-8b39-400cd0517ce9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.069848s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:20.825371+00:00'} {0} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.022860s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_invalid_op [0.013757s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestJsonType.test_invalid_values [0.012719s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.110016s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7a2c0459-e9cc-4d90-83d8-7b20d404b67c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:20.881238+00:00"} {0} ironic.tests.unit.api.v1.test_types.TestJsonType.test_valid_values [0.015668s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.012955s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestUuidType.test_invalid_uuid [0.011990s] ... ok {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.094890s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'vif_port_id': 'foo'}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-342c5b85-da52-4a9f-91b3-6fb11c75ffa2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "created_at": "2017-10-31T14:12:20.933665+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.013009s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_network_interface [0.011264s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_cannot_send_create_port [0.070115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-de219787-e5bf-4244-b808-ca7d2806a327 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_portgroups_subcontrollers [0.014425s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.130406s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'created_at': u'2017-10-31T14:12:20.911626+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:12:20.911626+00:00'} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs [0.019401s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs_fail [0.013021s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_none [0.012788s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs_fail [0.012039s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_uuid_not_found [0.068896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f3116d47-533c-4bd8-9995-436033aac650 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_with_no_extra [0.097501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-af7d170a-96b5-45fe-92cd-4a3c72aaba0e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:21.029574+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs [0.019126s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_driver_fail [0.013125s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_fields_fail [0.013248s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class [0.011767s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.012025s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.011329s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.010880s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_validate_limit [0.011870s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.011425s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_collection_links_default_limit [0.116208s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'2b711966-904b-42c7-a51e-fb9cd29f9548', u'links': [{u'href': u'http://localhost/v1/ports/2b711966-904b-42c7-a51e-fb9cd29f9548', u'rel': u'self'}, {u'href': u'http://localhost/ports/2b711966-904b-42c7-a51e-fb9cd29f9548', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'b1b5c9c9-30e2-44cd-afa2-dc7970f10a17', u'links': [{u'href': u'http://localhost/v1/ports/b1b5c9c9-30e2-44cd-afa2-dc7970f10a17', u'rel': u'self'}, {u'href': u'http://localhost/ports/b1b5c9c9-30e2-44cd-afa2-dc7970f10a17', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'b0e73e39-ec13-452d-9c4f-777ec9310504', u'links': [{u'href': u'http://localhost/v1/ports/b0e73e39-ec13-452d-9c4f-777ec9310504', u'rel': u'self'}, {u'href': u'http://localhost/ports/b0e73e39-ec13-452d-9c4f-777ec9310504', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}], u'next': u'http://localhost/v1/ports?sort_key=id&sort_dir=asc&limit=3&marker=b0e73e39-ec13-452d-9c4f-777ec9310504'} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_links [0.177731s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'0e030c0a-7f44-4152-8856-0c739aa3dbad', u'links': [{u'href': u'http://localhost/v1/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad', u'rel': u'self'}, {u'href': u'http://localhost/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.052139+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'0e030c0a-7f44-4152-8856-0c739aa3dbad', u'links': [{u'href': u'http://localhost/v1/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad', u'rel': u'self'}, {u'href': u'http://localhost/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.052139+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/0e030c0a-7f44-4152-8856-0c739aa3dbad {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'0e030c0a-7f44-4152-8856-0c739aa3dbad', u'links': [{u'href': u'http://localhost/v1/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad', u'rel': u'self'}, {u'href': u'http://localhost/ports/0e030c0a-7f44-4152-8856-0c739aa3dbad', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.052139+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_valid_extra [0.133936s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-53945097-640f-4bd7-b9fa-7da767bdd804 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:21.135403+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2017-10-31T14:12:21.135403+00:00'} {0} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.018158s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.015017s] ... ok {0} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_max_ver_str [0.011267s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_sort_key_not_allowed [0.050849s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3ef5fcf6-c1dd-43df-bd63-dd35e99b2596 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_extra_vif_port_id_deprecated [0.081209s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'foo'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9133fbf9-fcc5-40af-a005-8faa77fa5a2c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:21.248168+00:00"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_byid [0.058625s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-c211b801-2c1f-4d88-8698-797883d2024f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_with_incorrect_api_usage [0.060385s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'created_at': {}, u'next': {}, u'updated_at': {}, u'ports': []} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_llc_old_api_version [0.056803s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fb8690c2-61b5-4b51-8673-a2d415fbc359 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.044498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cbb37fdb-d2d9-49f7-a052-9a4f39d94059 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_false [0.058976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=False {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'connector_id': u'iqn.2012-06.com.example:initiator'}]} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_many [0.164827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'c5fd046d-9ee2-45e4-a05a-a2cad3f53ffb', u'links': [{u'href': u'http://localhost/v1/ports/c5fd046d-9ee2-45e4-a05a-a2cad3f53ffb', u'rel': u'self'}, {u'href': u'http://localhost/ports/c5fd046d-9ee2-45e4-a05a-a2cad3f53ffb', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'd2bc6e63-7350-49f3-8729-e07ac72192a5', u'links': [{u'href': u'http://localhost/v1/ports/d2bc6e63-7350-49f3-8729-e07ac72192a5', u'rel': u'self'}, {u'href': u'http://localhost/ports/d2bc6e63-7350-49f3-8729-e07ac72192a5', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'6a360201-eff6-4cae-ac60-8e4b0bade4f3', u'links': [{u'href': u'http://localhost/v1/ports/6a360201-eff6-4cae-ac60-8e4b0bade4f3', u'rel': u'self'}, {u'href': u'http://localhost/ports/6a360201-eff6-4cae-ac60-8e4b0bade4f3', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'77efa8ca-9959-42c0-8ca9-cd1255df31e7', u'links': [{u'href': u'http://localhost/v1/ports/77efa8ca-9959-42c0-8ca9-cd1255df31e7', u'rel': u'self'}, {u'href': u'http://localhost/ports/77efa8ca-9959-42c0-8ca9-cd1255df31e7', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:33'}, {u'uuid': u'24d10815-a622-469c-b08d-1bf3c06b315f', u'links': [{u'href': u'http://localhost/v1/ports/24d10815-a622-469c-b08d-1bf3c06b315f', u'rel': u'self'}, {u'href': u'http://localhost/ports/24d10815-a622-469c-b08d-1bf3c06b315f', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:34'}]} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_sepecified_by_path [0.045708s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-524f34e1-1027-4b7c-94bd-a18eb6da65c7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_uuid. Value: 'detail'. unable to convert to uuid\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_physical_network_old_api_version [0.065779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e1a14eda-31fb-4005-85ff-26df1e7d96e2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_port_by_address [0.084835s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'ports': [{u'uuid': u'5b8a8fba-75d6-43ac-a4b1-947212820835', u'links': [{u'href': u'http://localhost/v1/ports/5b8a8fba-75d6-43ac-a4b1-947212820835', u'rel': u'self'}, {u'href': u'http://localhost/ports/5b8a8fba-75d6-43ac-a4b1-947212820835', u'rel': u'bookmark'}], u'address': u'aa:bb:cc:dd:ee:f1'}]} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.066065s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18a7e503-1ed1-43df-9981-d5c141adb39f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_links_public_url [0.120961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/45f3b800-0264-4f77-9684-a9a848893974 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'45f3b800-0264-4f77-9684-a9a848893974', u'links': [{u'href': u'http://foo/v1/ports/45f3b800-0264-4f77-9684-a9a848893974', u'rel': u'self'}, {u'href': u'http://foo/ports/45f3b800-0264-4f77-9684-a9a848893974', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.363775+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/45f3b800-0264-4f77-9684-a9a848893974 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'45f3b800-0264-4f77-9684-a9a848893974', u'links': [{u'href': u'http://foo/v1/ports/45f3b800-0264-4f77-9684-a9a848893974', u'rel': u'self'}, {u'href': u'http://foo/ports/45f3b800-0264-4f77-9684-a9a848893974', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.363775+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/45f3b800-0264-4f77-9684-a9a848893974 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'45f3b800-0264-4f77-9684-a9a848893974', u'links': [{u'href': u'http://foo/v1/ports/45f3b800-0264-4f77-9684-a9a848893974', u'rel': u'self'}, {u'href': u'http://foo/ports/45f3b800-0264-4f77-9684-a9a848893974', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.363775+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.065976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-23890dd3-39a2-4c7a-bf4b-8467ecd10b9d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_port_by_address_invalid_address_format [0.056458s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4f44988-3149-4008-9834-f53d896b0649 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_one [0.073685s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.484121+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_portgroups_subresource_invalid_ident [0.039945s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 123 123. "} {1} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.083997s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'bfdfe046-873b-437d-b7f9-54cb29319264', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/bfdfe046-873b-437d-b7f9-54cb29319264', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bfdfe046-873b-437d-b7f9-54cb29319264', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_node_uuid [0.098515s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7f629d4d-35aa-44fa-8a6d-aee957443c8a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:21.487719+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_one_invalid_api_version [0.050667s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_physical_network_upgrade [0.055558s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0a277499-d7ba-4255-930f-f4f271dad92a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_sort_key_invalid [0.085129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-99e2cce4-77d6-41e0-b829-d6e8dafdd9f6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8fb79ee2-377d-44ba-a8a5-c390dc138a41 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d31ccf13-376e-4a40-bde2-3c1ea15f8d5f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=local_link_connection {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-adcd4786-2169-4fdb-8ecb-3ba24eaf1951 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\"}"} {1} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.078919s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=64028632-fa10-40fa-832f-29dd0297811f {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'64028632-fa10-40fa-832f-29dd0297811f', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/64028632-fa10-40fa-832f-29dd0297811f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/64028632-fa10-40fa-832f-29dd0297811f', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {1} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_too_high [0.011962s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestBooleanType.test_valid_true_values [0.012364s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.017818s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.014594s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_links [0.131993s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'766ac239-b9f2-4266-810a-8665948aa771', u'links': [{u'href': u'http://localhost/v1/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.601965+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /v1/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'766ac239-b9f2-4266-810a-8665948aa771', u'links': [{u'href': u'http://localhost/v1/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.601965+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /volume/connectors/766ac239-b9f2-4266-810a-8665948aa771 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'766ac239-b9f2-4266-810a-8665948aa771', u'links': [{u'href': u'http://localhost/v1/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/766ac239-b9f2-4266-810a-8665948aa771', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:21.601965+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {1} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.016048s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_multi [0.101708s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4facbac7-9197-4161-8cb3-aa2da9e45393 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:21.641749+00:00", "updated_at": "2017-10-31T14:12:21.695924+00:00", "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.011139s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_mandatory_key [0.012408s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.013546s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestUuidType.test_valid_uuid [0.012319s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type [0.012208s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_multi [0.171036s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-746716c1-d37a-4867-9b57-487d9f92174d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:21.640714+00:00", "updated_at": "2017-10-31T14:12:21.697282+00:00", "address": "52:54:00:cf:2d:31"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3099494-db31-491d-a8de-6541eda1c073 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:21.640714+00:00", "updated_at": "2017-10-31T14:12:21.758868+00:00", "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_one [0.080541s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'connector_id': u'iqn.2012-06.com.example:initiator'}]} {1} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type_bad_id [0.012959s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_internal_info [0.013428s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs [0.014419s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs_fail [0.013488s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_sort_key_invalid [0.081466s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-147e1be2-b20a-4b19-a981-3523ce5a88f7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/connectors?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0478c489-16ab-499a-ba13-778e8362b0d5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail [0.014171s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_physical_network [0.160176s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1cecce4c-1856-489d-9da1-4896a4879979 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2017-10-31T14:12:21.839806+00:00", "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:12:21.748639+00:00"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_fail [0.015645s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs [0.013545s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_physical_network [0.121268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbcb15ea-c2d7-439d-9d9c-ff49523df542 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2017-10-31T14:12:21.882381+00:00", "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:12:21.819731+00:00"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs [0.012532s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_physical_network_old_api_version [0.053167s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b23aff0a-eace-4d26-9dd0-32b6456b7978 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs_fail [0.015434s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class_fail [0.012681s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_uuid [0.049537s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bf77ea6c-8760-44aa-8356-67acde828c0c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface [0.017394s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class_fail [0.013238s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_node_uuid [0.121661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-884814fb-bb91-4e6c-bcca-b817227c4743 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:21.912871+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties_fail [0.013700s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.013357s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.014755s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_portgroup_uuid [0.103585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '9b29c0bf-30e5-4ac3-a52f-6bbb95f2799f', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8072aab2-f299-49ba-9325-038ebb67cfe8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "9b29c0bf-30e5-4ac3-a52f-6bbb95f2799f", "updated_at": "2017-10-31T14:12:22.009512+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:12:21.956867+00:00"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.013649s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.012194s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_address_already_exist [0.106623s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-63d3e565-d482-45da-8004-f6425c4910a0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_mandatory_field [0.081071s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/value', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8c5d0f48-27db-4252-aa8e-4b4037537590 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/value', 'op': 'remove'}]'. Reason: can't remove non-existent object 'value'\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.013602s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_invalid_physnet_non_text [0.055326s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a085108e-65e7-40db-a9f0-5ad917f3148a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.015736s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.013299s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_node_id [0.059949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b0708d6-e118-4bce-9b6b-ad1851a6586b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.014838s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.013124s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_local_link_connection_old_api [0.059443s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0c37fa2d-5652-47e2-8c9b-50168e4616dd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.014378s] ... ok {1} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_duplicates [0.013167s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_node_id [0.052788s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-340709d7-165e-4031-9914-362a8b4f0849 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_node_uuid [0.087352s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95afc36e-b074-41b5-92d2-1fd61bf720a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:22.153253+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.034777s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2400bc84-3713-4f4d-bc7e-04f44428fb24 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_multi [0.168835s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-def435b4-7dba-4178-b151-9ed0a645be42 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:22.108709+00:00", "updated_at": "2017-10-31T14:12:22.118041+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6f7ffce-07aa-49fa-b624-050b0c99edf6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:22.108709+00:00", "updated_at": "2017-10-31T14:12:22.118041+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_against_single [0.050226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65d3d631-2ae3-4de6-9f69-832d01dbd1b4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_invalid_api_version [0.035421s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_node_id [0.069119s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a72d1d87-d480-43a6-a8aa-774b9744158d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_physical_network [0.115160s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-61844b97-2f1c-4df9-b6d8-2fc7b56bbd16 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2017-10-31T14:12:22.297446+00:00", "physical_network": "physnet2", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:12:22.233363+00:00"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid_remove_add [0.124521s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'dc913b48-e0b7-47d3-ac89-6547308f1ad1', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'e4752b0e-65b0-481c-aec0-f6a7f4a8054c', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ef9ed19-5bf2-4ac0-b540-811bb8423d26 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "e4752b0e-65b0-481c-aec0-f6a7f4a8054c", "updated_at": "2017-10-31T14:12:22.313562+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:12:22.247121+00:00"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.036727s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_uuid [0.056051s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d113521e-d3ee-4a0d-9011-99a76896920b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_physical_network_old_api_version [0.061897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0b75636f-9e54-41e6-9714-667193ef6259 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_one_invalid_api_version [0.043107s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_byaddress_not_allowed [0.059432s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec0e4404-1511-4295-9593-1913291cefd4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid_old_api [0.051010s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '5c11c402-82dc-46b4-9d14-fed6f6e57c66', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ab08be3e-d3f6-49a1-8c89-0921a1038753 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_pxe_enabled_old_api_version [0.049364s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7bdad399-f30c-4a95-ace7-893bf9f0dd07 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.018735s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_node_uuid [0.108401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a1f9204-7024-46ca-8ff0-2b4b40ae3452 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:22.410017+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_multi [0.097425s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8cfeaf09-678d-459b-84da-4724aaf81422 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:12:22.418409+00:00", "updated_at": "2017-10-31T14:12:22.426204+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.023003s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.018806s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.018978s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid_remove [0.105621s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '58c8a10d-4cc0-45d3-90e4-01ccf06e2843', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dab63684-6468-4830-b163-8e56c9f33f0f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:12:22.462680+00:00"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_node_uuid_invalid_type [0.065221s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-85074ca5-9496-44ce-9ec3-f955f1f31475 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_node_id [0.057436s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-07cca4c8-c54e-482d-8908-bfd64899c661 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_address_invalid_format [0.053630s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b141e6c8-7f38-43ad-9ba0-772a666071c0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.017284s] ... ok {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_non_existent_node_uuid [0.068387s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d33b0c5-2580-4500-a2f5-9501a9fe5f13 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.017905s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_update_byid [0.097118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-33a35005-a79c-4cbe-972f-5aec317ccc13 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:12:22.578873+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port [0.140329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-bef6b83b-c432-4cec-be69-d2583b745c6d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2000-01-01T00:00:00+00:00'} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_doesnt_contain_id [0.086356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {'foo': 123}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-fe3362b7-0f31-4d74-9abd-a4b97be68673 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:12:22.665713+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:12:22.665713+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_invalid_api_version [0.028301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_generate_uuid [0.110175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/b9c53efe-8c7d-4c95-90b2-0882146322cc Openstack-Request-Id: req-b1e85fa3-fa31-409c-958b-24ecfebe583d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "b9c53efe-8c7d-4c95-90b2-0882146322cc", "links": [{"href": "http://localhost/v1/volume/connectors/b9c53efe-8c7d-4c95-90b2-0882146322cc", "rel": "self"}, {"href": "http://localhost/volume/connectors/b9c53efe-8c7d-4c95-90b2-0882146322cc", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:22.699685+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/b9c53efe-8c7d-4c95-90b2-0882146322cc {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'b9c53efe-8c7d-4c95-90b2-0882146322cc', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b9c53efe-8c7d-4c95-90b2-0882146322cc', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b9c53efe-8c7d-4c95-90b2-0882146322cc', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:22.699685+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_error [0.082931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2c464b6b-cf1c-436f-8ae3-a5f02dde2e63 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_address_normalized [0.128444s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'AA:BB:CC:DD:EE:FF'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7f1b25ea-7abb-40ff-8bbe-2042a5cd0277 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "created_at": "2017-10-31T14:12:22.706321+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'aa:bb:cc:dd:ee:ff', u'internal_info': {}, u'created_at': u'2017-10-31T14:12:22.706321+00:00'} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.046989s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5001a453-5a65-420a-b074-fab7a1034799 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_id. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.053141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': 123, 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71a65f03-900f-4737-8b5f-1307b9481956 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_byid [0.061559s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-ba0bf6cb-d4d8-4616-8389-3e4c9cf693e1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_cannot_send_create_port [0.088570s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': None, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f00050e7-dc20-47f8-bc2c-e062cb5b7b16 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:22.829608+00:00"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.059430s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e929470-c511-4375-a298-249fde4d6299 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_generate_uuid [0.130620s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/da433784-58c5-42b6-bced-e7e8ebd82372 Openstack-Request-Id: req-18cc0007-ed08-4188-a93c-e51e5506fee0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "da433784-58c5-42b6-bced-e7e8ebd82372", "links": [{"href": "http://localhost/v1/ports/da433784-58c5-42b6-bced-e7e8ebd82372", "rel": "self"}, {"href": "http://localhost/ports/da433784-58c5-42b6-bced-e7e8ebd82372", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:22.837885+00:00"} GET: /v1/ports/da433784-58c5-42b6-bced-e7e8ebd82372 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'da433784-58c5-42b6-bced-e7e8ebd82372', u'links': [{u'href': u'http://localhost/v1/ports/da433784-58c5-42b6-bced-e7e8ebd82372', u'rel': u'self'}, {u'href': u'http://localhost/ports/da433784-58c5-42b6-bced-e7e8ebd82372', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2017-10-31T14:12:22.837885+00:00'} {1} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.036758s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_missing_mandatory [0.065361s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'fooswitch', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-147cb6d8-c951-4b79-bfd8-f2ef441602bf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: set(['port_id'])\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_node_uuid_not_found [0.064883s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-99a9b110-9b39-497f-b3a3-a200fc40dd84 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_node_uuid_format [0.049540s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': 'invalid-format', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6097665a-3e06-40b3-bfcb-887b1ee0093d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_collection_links_default_limit [0.089823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'b9a41d1c-234d-4903-891a-c9823dd0247b', u'links': [{u'href': u'http://localhost/v1/volume/targets/b9a41d1c-234d-4903-891a-c9823dd0247b', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/b9a41d1c-234d-4903-891a-c9823dd0247b', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'f88e1c67-0747-4ba1-8e11-fb2aa0d70ff1', u'links': [{u'href': u'http://localhost/v1/volume/targets/f88e1c67-0747-4ba1-8e11-fb2aa0d70ff1', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/f88e1c67-0747-4ba1-8e11-fb2aa0d70ff1', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'659d847c-807a-4abe-9260-9ba9c5afa156', u'links': [{u'href': u'http://localhost/v1/volume/targets/659d847c-807a-4abe-9260-9ba9c5afa156', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/659d847c-807a-4abe-9260-9ba9c5afa156', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&limit=3&marker=659d847c-807a-4abe-9260-9ba9c5afa156'} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_min_api_version [0.083896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5570d1f9-d667-4dae-9a0a-8aa82d2cd5ea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:22.983466+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_against_single [0.046901s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9f4d19fb-0a33-4ded-8537-45ddeac888f7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_keys [0.098090s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ec30a6d5-36bd-44dd-aad4-e844d846859c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "value3", "port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.013498+00:00"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_type_value_already_exist [0.122173s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'test-connector-id-456'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8c9e16e7-db1c-4d7c-8e6d-acac68e95d9a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:22.996166+00:00", "updated_at": null, "connector_id": "test-connector-id-456", "type": "iqn"} POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '0a9a9490-35f0-4368-a008-814d0c8ce675', 'connector_id': 'test-connector-id-456'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-578ca9bc-1e7a-41ac-a595-34e07b9cfa95 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\"}"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_and_fields [0.042292s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=boot_index,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cbaa9fb2-161d-49df-a770-0453e6f07528 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_nopxe_noportgroup [0.084226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-cc6b0bbb-acc1-4a5c-98a7-7850c6afd018 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.068238+00:00"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_no_mandatory_field_address [0.047562s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-814eaa77-76f0-476b-bc31-76cb9e78561d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'None'. Mandatory field missing.\"}"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_false [0.057884s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=False {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_old_api_version [0.056344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-151e18d0-9971-46ed-b20b-cc6d20f15f95 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.076554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0ffe5443-fa1a-4733-9835-b3b93733a221 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"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 port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_valid_extra [0.128560s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-11fd5902-6825-4f4a-9fb2-7a9f09a90b85 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:12:23.124892+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:12:23.124892+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_empty [0.049737s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': []} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.062859s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4161e681-5cad-4a94-bd2a-b35c1174dbe4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.055717s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9c4a1098-3386-4aa8-b0c3-3d62514314ae X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup [0.086608s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0d0afafc-6c7b-44f9-8610-85a8ed0df923 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.229998+00:00"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_some_invalid_local_link_connection_key [0.059757s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_foo': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': 'value1'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d4fc979-9f0d-4e8a-8490-7bac1ef29512 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"set(['switch_foo']) are invalid keys\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_collection_links [0.124423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/?limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'7b1104b3-f79d-441b-8ad5-852faa000ef1', u'links': [{u'href': u'http://localhost/v1/volume/targets/7b1104b3-f79d-441b-8ad5-852faa000ef1', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7b1104b3-f79d-441b-8ad5-852faa000ef1', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'11f8f561-e27e-4f1e-9262-562d372903f4', u'links': [{u'href': u'http://localhost/v1/volume/targets/11f8f561-e27e-4f1e-9262-562d372903f4', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/11f8f561-e27e-4f1e-9262-562d372903f4', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'5819998b-8a03-4782-aa7a-e31bb4b8dcb1', u'links': [{u'href': u'http://localhost/v1/volume/targets/5819998b-8a03-4782-aa7a-e31bb4b8dcb1', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/5819998b-8a03-4782-aa7a-e31bb4b8dcb1', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&limit=3&marker=5819998b-8a03-4782-aa7a-e31bb4b8dcb1'} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.097241s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'f6f9b4d4-cc60-44db-991f-e56581484ca2'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f4ce8c5a-9a6e-49e3-bb83-3b855fab4175 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "f6f9b4d4-cc60-44db-991f-e56581484ca2"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.327567+00:00"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_nopxe_noportgroup [0.082916s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'eec5a972-7de6-4c90-9c7f-0ce7483ad894'}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d8569edf-5728-460f-b63a-f4d6cff5d5ce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "eec5a972-7de6-4c90-9c7f-0ce7483ad894"}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.332405+00:00"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_links [0.108664s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0 {} GOT:{u'boot_index': 0, u'uuid': u'04a7a5f4-50df-416f-b017-b9db15c7dae0', u'links': [{u'href': u'http://localhost/v1/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:23.273681+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} GET: /v1/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0 {} GOT:{u'boot_index': 0, u'uuid': u'04a7a5f4-50df-416f-b017-b9db15c7dae0', u'links': [{u'href': u'http://localhost/v1/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:23.273681+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} GET: /volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0 {} GOT:{u'boot_index': 0, u'uuid': u'04a7a5f4-50df-416f-b017-b9db15c7dae0', u'links': [{u'href': u'http://localhost/v1/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/04a7a5f4-50df-416f-b017-b9db15c7dae0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:23.273681+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_one_invalid_api_version [0.033981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_collection_links_detail [0.115583s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1ad2d4ae-ac4b-455d-b072-26d5cbfe4cbd', u'links': [{u'href': u'http://localhost/v1/volume/targets/1ad2d4ae-ac4b-455d-b072-26d5cbfe4cbd', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1ad2d4ae-ac4b-455d-b072-26d5cbfe4cbd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:23.340376+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}, {u'boot_index': 1, u'uuid': u'01f12e10-6633-42a7-ab44-f69125bc2d80', u'links': [{u'href': u'http://localhost/v1/volume/targets/01f12e10-6633-42a7-ab44-f69125bc2d80', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/01f12e10-6633-42a7-ab44-f69125bc2d80', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:23.343671+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}, {u'boot_index': 2, u'uuid': u'89bb5071-9359-4e4f-982c-17c421f4056f', u'links': [{u'href': u'http://localhost/v1/volume/targets/89bb5071-9359-4e4f-982c-17c421f4056f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/89bb5071-9359-4e4f-982c-17c421f4056f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:23.346691+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}], u'next': u'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=89bb5071-9359-4e4f-982c-17c421f4056f'} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.103770s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'e4f6fe8a-20ee-49b0-8ad9-c50fc70a37b8'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9a357ec6-4060-4f67-ad39-1bd751035629 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "e4f6fe8a-20ee-49b0-8ad9-c50fc70a37b8"}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.431478+00:00"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_sort_key [0.084832s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?sort_key=uuid {} GOT:{u'targets': [{u'boot_index': 1, u'uuid': u'35e11456-a258-42ae-a4c0-0ca768b217dc', u'links': [{u'href': u'http://localhost/v1/volume/targets/35e11456-a258-42ae-a4c0-0ca768b217dc', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/35e11456-a258-42ae-a4c0-0ca768b217dc', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 0, u'uuid': u'39eb7f32-b77f-464a-b5eb-6df0b1636637', u'links': [{u'href': u'http://localhost/v1/volume/targets/39eb7f32-b77f-464a-b5eb-6df0b1636637', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/39eb7f32-b77f-464a-b5eb-6df0b1636637', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'83286d9c-8503-4825-81eb-f57ecf78af82', u'links': [{u'href': u'http://localhost/v1/volume/targets/83286d9c-8503-4825-81eb-f57ecf78af82', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/83286d9c-8503-4825-81eb-f57ecf78af82', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_hyphens_delimiter [0.046934s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52-54-00-cf-2d-31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12fa1f83-8e77-421d-98ce-2b4c9a27e0b9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_by_node_name_ok [0.075399s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True&node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:23.462007+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {1} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_node_uuid_invalid_type [0.046908s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cc4c2c9a-36cb-4050-9524-3f20bfae150e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_internal_field [0.054543s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8399a50f-cfa5-4e95-8f44-d39a87a007a4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute internal_info. Value: '{u'a': u'b'}'. Cannot set read only field.\"}"} {1} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_uuid [0.050092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e283e323-b96f-4f8d-970d-81b5f8b121da X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_nopxe_portgroup_nostandalone_ports [0.254923s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'ac923166-16b3-4f03-aa66-c5124816a654'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-17e6d0e4-b5ea-45f4-977e-26167648c1e4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"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 port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_physical_network_upgrade [0.064147s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ee4be8a9-5ba0-4e8c-b4bb-1bc515a87959 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_many [0.151523s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'ae7293aa-0a67-4457-ba81-304f8beb5b97', u'links': [{u'href': u'http://localhost/v1/volume/targets/ae7293aa-0a67-4457-ba81-304f8beb5b97', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/ae7293aa-0a67-4457-ba81-304f8beb5b97', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'825af0e3-f84e-4f40-9a6b-0ca905892d3c', u'links': [{u'href': u'http://localhost/v1/volume/targets/825af0e3-f84e-4f40-9a6b-0ca905892d3c', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/825af0e3-f84e-4f40-9a6b-0ca905892d3c', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'6ecbdbc3-aa88-4050-b1b1-a586edf49cb1', u'links': [{u'href': u'http://localhost/v1/volume/targets/6ecbdbc3-aa88-4050-b1b1-a586edf49cb1', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/6ecbdbc3-aa88-4050-b1b1-a586edf49cb1', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 3, u'uuid': u'15493b69-f2ab-425f-9459-c7f2a4bd615a', u'links': [{u'href': u'http://localhost/v1/volume/targets/15493b69-f2ab-425f-9459-c7f2a4bd615a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/15493b69-f2ab-425f-9459-c7f2a4bd615a', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 4, u'uuid': u'cea0ac9a-09b0-4131-91f7-873e0da80f17', u'links': [{u'href': u'http://localhost/v1/volume/targets/cea0ac9a-09b0-4131-91f7-873e0da80f17', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/cea0ac9a-09b0-4131-91f7-873e0da80f17', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_pxe_noportgroup [0.074569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': '73f79e74-9648-4b56-b856-668e3a07b9fa'}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a13a3bdd-1259-44e5-8fe2-c7bb3adfead9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "73f79e74-9648-4b56-b856-668e3a07b9fa"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.666906+00:00"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_node_uuid_to_node_id_mapping [0.105429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-00f73f4a-0700-4906-bfe8-cc625e0cc6f4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:12:23.699846+00:00"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_one [0.081471s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.069867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'ea81f718-ee59-4518-af45-fffee8204be4'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f0316dab-b005-4d1a-8eae-10b75412f34b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"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 port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {3} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.068066s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=a7c47d5a-9a9f-4e00-86c0-be06c989f611 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'a7c47d5a-9a9f-4e00-86c0-be06c989f611', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/a7c47d5a-9a9f-4e00-86c0-be06c989f611', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a7c47d5a-9a9f-4e00-86c0-be06c989f611', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {1} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_update_byid_invalid_api_version [0.222544s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_ramdisk.TestHeartbeat.test_ok [0.060614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-bde0e7b6-c1d2-4903-9fcb-7bd3804e97cd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {3} ironic.tests.unit.api.v1.test_root.TestV1Routing.test_route_checks_version [0.033420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_types.TestBooleanType.test_invalid_value [0.011017s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestBooleanType.test_valid_false_values [0.010424s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_multi [0.128563s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab831769-667a-491d-b539-91f701e5274e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:23.775284+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.017266s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.013601s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.018379s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_doesnt_contain_id [0.100662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'foo': 123}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a57231f0-d1ff-4c7b-9643-d376d82c96b5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:12:23.860396+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:12:23.860396+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {2} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.093950s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ 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 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'59051e3c-427d-4ef2-befc-68578c0e76b5', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/59051e3c-427d-4ef2-befc-68578c0e76b5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/59051e3c-427d-4ef2-befc-68578c0e76b5', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.015319s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.010596s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.011335s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.034615s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_mandatory_field [0.078669s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c79d0a20-53b1-474b-bf50-2dc453ab813b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/boot_index' is a mandatory attribute and can not be removed\"}"} {3} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_without_optional_key [0.012853s] ... ok {2} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_old_api_version [0.054613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a8cf9510-de11-44df-9ca5-d2433dd186f6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions_bad [0.022044s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ The database is not compatible with this release of ironic (9.1.2.dev201710311400). Please run "ironic-dbsync online_data_migrations" using the previous release. {3} ironic.tests.unit.api.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.012719s] ... ok {2} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_ok [0.014413s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_dynamic_drivers [0.014291s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.021590s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_inject_nmi [0.011026s] ... ok {2} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_too_low [0.017948s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_advanced_net_fields [0.013553s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_invalid_path [0.015659s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.023016s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_physical_network_no_pin [0.013769s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.017407s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_portgroup_mode_properties [0.012938s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.023734s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ Error while running foo: bar. {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_portgroups [0.011485s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_valid_patches [0.020707s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_ramdisk_endpoints [0.012916s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestJsonType.test_apimultitype_tostring [0.012386s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.027249s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_remove_chassis_uuid [0.013353s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestListType.test_list_type [0.015081s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_non_existent_node_uuid [0.144827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93515217-cc6f-4463-a08d-11c983f40b2a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_resource_class [0.014474s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.024110s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. Data migrations have completed. {2} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.019869s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_storage_interface [0.015310s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs [0.011670s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestNameType.test_invalid_name [0.014765s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_false [0.013246s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestNameType.test_valid_name [0.012925s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.012982s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type [0.016453s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestUuidOrNameType.test_valid_name [0.013804s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs_fail [0.013776s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.013398s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class [0.013203s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type_optional_key [0.013050s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_unknown_verbs [0.013192s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.010718s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_links_node_states_and_driver_properties [0.021691s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.013100s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.118785s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.010584s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_physical_network_pin [0.016942s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_update_byid [0.141126s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb70e6f3-fddb-476c-9f0d-5103fae4c575 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:12:24.142192+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_volume [0.013773s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.019857s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs_fail [0.014265s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.013803s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_fail [0.013207s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.014580s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_none [0.014285s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.014676s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_driver [0.013343s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.013135s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_fields [0.013901s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.010104s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_update_not_found [0.099094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/409ba276-3834-4da7-9f6c-a5078200ce98 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a917173-7ff0-4a02-9b98-317b994452df X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume target 409ba276-3834-4da7-9f6c-a5078200ce98 could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface_fail [0.014960s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.018918s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties [0.014088s] ... ok {3} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_name_value_match [0.012638s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.130336s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.013885s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.012787s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.011497s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.012099s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.012903s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.012474s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.076259s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.015566s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.014857s] ... ok {2} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_min_ver_str [0.010932s] ... ok {3} ironic.tests.unit.api.v1.test_volume.TestGetVolume.test_get_volume [0.134928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /v1/volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /v1/volume/connectors {} GOT:{u'connectors': []} GET: /volume/connectors {} GOT:{u'connectors': []} GET: /v1/volume/targets {} GOT:{u'targets': []} GET: /volume/targets {} GOT:{u'targets': []} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.036072s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.092889s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_with_region [0.021496s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.016159s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_collection_links_detail [0.091048s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'bc880641-bfe1-4e7e-a44e-1fc5c60ad3ad', u'links': [{u'href': u'http://localhost/v1/volume/connectors/bc880641-bfe1-4e7e-a44e-1fc5c60ad3ad', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/bc880641-bfe1-4e7e-a44e-1fc5c60ad3ad', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:24.517971+00:00', u'updated_at': None, u'connector_id': u'test-connector_id-0', u'type': u'iqn'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'd68c56a9-b1bf-44a5-9ad9-0c4ad5b1ca65', u'links': [{u'href': u'http://localhost/v1/volume/connectors/d68c56a9-b1bf-44a5-9ad9-0c4ad5b1ca65', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/d68c56a9-b1bf-44a5-9ad9-0c4ad5b1ca65', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:24.520784+00:00', u'updated_at': None, u'connector_id': u'test-connector_id-1', u'type': u'iqn'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'b1f911de-e1ee-431d-829f-70731d58da34', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b1f911de-e1ee-431d-829f-70731d58da34', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b1f911de-e1ee-431d-829f-70731d58da34', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:24.523651+00:00', u'updated_at': None, u'connector_id': u'test-connector_id-2', u'type': u'iqn'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=b1f911de-e1ee-431d-829f-70731d58da34'} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_invalid_power_state [0.069094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-323e05dd-9488-43b3-adae-eb4a86ded28a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.013415s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_node_locked [0.066064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a9b72e5c-9ac3-4e84-96cd-edfb775b47b4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_no_interfaces_set [0.063928s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.064211s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_collection_links [0.099974s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/?limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'eec279d4-b246-41f7-a4ab-08b3b8eff466', u'links': [{u'href': u'http://localhost/v1/volume/connectors/eec279d4-b246-41f7-a4ab-08b3b8eff466', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/eec279d4-b246-41f7-a4ab-08b3b8eff466', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'84cf2095-7049-44f1-9f75-dbc8c2fa2d45', u'links': [{u'href': u'http://localhost/v1/volume/connectors/84cf2095-7049-44f1-9f75-dbc8c2fa2d45', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/84cf2095-7049-44f1-9f75-dbc8c2fa2d45', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'43a16982-b39d-4113-8fff-fa9520ba787a', u'links': [{u'href': u'http://localhost/v1/volume/connectors/43a16982-b39d-4113-8fff-fa9520ba787a', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/43a16982-b39d-4113-8fff-fa9520ba787a', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&limit=3&marker=43a16982-b39d-4113-8fff-fa9520ba787a'} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target [0.417372s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-645d7d93-d53a-4a5b-9058-ce0ec4c9413d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_and_fields [0.233254s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae2e74b0-7975-4350-af1f-476391234b45 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_collection_links_default_limit [0.093327s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'02531a12-5ccc-46c6-8972-5cdb498d0f66', u'links': [{u'href': u'http://localhost/v1/volume/connectors/02531a12-5ccc-46c6-8972-5cdb498d0f66', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/02531a12-5ccc-46c6-8972-5cdb498d0f66', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'e3e7398a-fcfa-4795-a6a7-6eb57c0d4c49', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e3e7398a-fcfa-4795-a6a7-6eb57c0d4c49', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e3e7398a-fcfa-4795-a6a7-6eb57c0d4c49', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'6f68f54d-c5a3-4099-b6bb-c0ffd9691b48', u'links': [{u'href': u'http://localhost/v1/volume/connectors/6f68f54d-c5a3-4099-b6bb-c0ffd9691b48', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/6f68f54d-c5a3-4099-b6bb-c0ffd9691b48', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}], u'next': u'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&limit=3&marker=6f68f54d-c5a3-4099-b6bb-c0ffd9691b48'} {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_no_interfaces [0.128112s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_generate_uuid [0.109472s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/36a0a26f-9cd8-4c61-bf95-8991400b3738 Openstack-Request-Id: req-eb4f3f42-e80b-41a7-941d-6e692418be77 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "36a0a26f-9cd8-4c61-bf95-8991400b3738", "links": [{"href": "http://localhost/v1/volume/targets/36a0a26f-9cd8-4c61-bf95-8991400b3738", "rel": "self"}, {"href": "http://localhost/volume/targets/36a0a26f-9cd8-4c61-bf95-8991400b3738", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:24.811058+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/36a0a26f-9cd8-4c61-bf95-8991400b3738 {} GOT:{u'boot_index': 0, u'uuid': u'36a0a26f-9cd8-4c61-bf95-8991400b3738', u'links': [{u'href': u'http://localhost/v1/volume/targets/36a0a26f-9cd8-4c61-bf95-8991400b3738', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/36a0a26f-9cd8-4c61-bf95-8991400b3738', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:24.811058+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_empty [0.047496s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': []} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_invalid_api_version [0.037744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail [0.056703s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:24.873576+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_node_uuid_not_found [0.057360s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5e90b74-970d-4ece-acd8-515dcf839c25 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.095860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?node=test-node {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'2cad0108-8817-4658-9cc7-c059690dcd11', u'links': [{u'href': u'http://localhost/v1/volume/connectors/2cad0108-8817-4658-9cc7-c059690dcd11', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/2cad0108-8817-4658-9cc7-c059690dcd11', u'rel': u'bookmark'}], u'connector_id': u'test-value-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'321bae4b-29b7-47eb-bfa0-b68ace5ed0ca', u'links': [{u'href': u'http://localhost/v1/volume/connectors/321bae4b-29b7-47eb-bfa0-b68ace5ed0ca', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/321bae4b-29b7-47eb-bfa0-b68ace5ed0ca', u'rel': u'bookmark'}], u'connector_id': u'test-value-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'c0a70c99-51e7-420b-8f95-d62628084776', u'links': [{u'href': u'http://localhost/v1/volume/connectors/c0a70c99-51e7-420b-8f95-d62628084776', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/c0a70c99-51e7-420b-8f95-d62628084776', u'rel': u'bookmark'}], u'connector_id': u'test-value-2'}]} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_by_node_name_ok [0.070184s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True&node=test-node {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:24.933900+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_unset_interfaces [0.127285s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_one_custom_fields [0.062125s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} GOT:{u'connector_id': u'iqn.2012-06.com.example:initiator', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_collection_custom_fields [0.079225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{u'connectors': [{u'uuid': u'62de9c4c-a09a-4f47-946e-676f1cc1caf6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/62de9c4c-a09a-4f47-946e-676f1cc1caf6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/62de9c4c-a09a-4f47-946e-676f1cc1caf6', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'81654a0e-eae2-43b6-9b92-d1a3f3253da5', u'links': [{u'href': u'http://localhost/v1/volume/connectors/81654a0e-eae2-43b6-9b92-d1a3f3253da5', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/81654a0e-eae2-43b6-9b92-d1a3f3253da5', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'0739233f-7e37-4996-bccc-02bc5eb46c70', u'links': [{u'href': u'http://localhost/v1/volume/connectors/0739233f-7e37-4996-bccc-02bc5eb46c70', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/0739233f-7e37-4996-bccc-02bc5eb46c70', u'rel': u'bookmark'}], u'extra': {}}]} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_valid_extra [0.115803s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0b4f0732-576b-4060-8e40-c1dc73eaa32f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:12:25.018152+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:12:25.018152+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_dynamic_driver_and_interfaces [0.121427s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.039564s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.019092s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_multi [0.074336s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-85b597a9-3836-48c4-a34f-d8faa2aa2df2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:25.079050+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_many [0.112366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'b41b074c-7d03-4131-beeb-2b66add517e0', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b41b074c-7d03-4131-beeb-2b66add517e0', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b41b074c-7d03-4131-beeb-2b66add517e0', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'999677ab-406c-44ea-9235-8201243faaa8', u'links': [{u'href': u'http://localhost/v1/volume/connectors/999677ab-406c-44ea-9235-8201243faaa8', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/999677ab-406c-44ea-9235-8201243faaa8', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'3a5b6b50-78d3-4288-ac55-8205121261eb', u'links': [{u'href': u'http://localhost/v1/volume/connectors/3a5b6b50-78d3-4288-ac55-8205121261eb', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/3a5b6b50-78d3-4288-ac55-8205121261eb', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'ded343f1-b514-4b49-91a5-a0f626024c82', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ded343f1-b514-4b49-91a5-a0f626024c82', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ded343f1-b514-4b49-91a5-a0f626024c82', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-3'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'a5a80dde-fb7b-4ecf-8161-f206fbf352ec', u'links': [{u'href': u'http://localhost/v1/volume/connectors/a5a80dde-fb7b-4ecf-8161-f206fbf352ec', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/a5a80dde-fb7b-4ecf-8161-f206fbf352ec', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-4'}]} {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.022392s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_on_missing_default_boot_option [0.049241s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.019522s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_neutron_dhcp [0.017249s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_node_id [0.064675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-066c81ad-df7f-44d7-a0c6-b407b75a8f57 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.032927s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. Data migrations have completed. {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_sort_key [0.086309s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?sort_key=uuid {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'06a0dbdf-7230-4b81-aa0a-cb1ad4446609', u'links': [{u'href': u'http://localhost/v1/volume/connectors/06a0dbdf-7230-4b81-aa0a-cb1ad4446609', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/06a0dbdf-7230-4b81-aa0a-cb1ad4446609', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'4d2850c4-5560-4265-86e1-616d5cd4cc1b', u'links': [{u'href': u'http://localhost/v1/volume/connectors/4d2850c4-5560-4265-86e1-616d5cd4cc1b', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/4d2850c4-5560-4265-86e1-616d5cd4cc1b', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'9ab486a5-5a32-4d82-8781-08db5de4d217', u'links': [{u'href': u'http://localhost/v1/volume/connectors/9ab486a5-5a32-4d82-8781-08db5de4d217', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/9ab486a5-5a32-4d82-8781-08db5de4d217', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-0'}]} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_node_uuid_invalid_type [0.043358s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2130651a-0a9e-4744-b735-60972c56548e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_connector_id_already_exist [0.059063s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ba0dc763-a62c-4c91-8e65-43aeeaeb626f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\"}"} {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task [0.109329s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_root [0.077862s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ca74214a-ea0f-4b40-a293-2099c0ad5975 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:25.251265+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "type": "iqn"} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.118082s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_update_not_found [0.048977s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/7d793c5b-d5e7-4053-ad97-c53b68273e89 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5042985c-ac30-4516-acfa-2f589661bb40 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume connector 7d793c5b-d5e7-4053-ad97-c53b68273e89 could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_root_non_existent [0.049172s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94bb5259-35ef-4ecd-bf61-b4998eabae88 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {1} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_unknown [0.058246s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_non_existent_property_fail [0.047428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e66b808e-60a8-4aa2-bdd3-98a16f59ae15 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_invalid_power_state [0.060689s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82d1c600-33b2-4f6f-a42b-a3fba70d3ee0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_invalid_api_version [0.030838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.080705s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.130341s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_invalid_power_state [0.072965s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-287a323c-7dd0-4445-ad05-8df0a096b699 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.072385s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_collection_custom_fields [0.087599s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?fields=uuid,extra {} GOT:{u'targets': [{u'uuid': u'682a830b-a711-499e-b605-3a96436dce42', u'links': [{u'href': u'http://localhost/v1/volume/targets/682a830b-a711-499e-b605-3a96436dce42', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/682a830b-a711-499e-b605-3a96436dce42', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'94f8336d-8551-41d3-bba6-8d2d26aa558e', u'links': [{u'href': u'http://localhost/v1/volume/targets/94f8336d-8551-41d3-bba6-8d2d26aa558e', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/94f8336d-8551-41d3-bba6-8d2d26aa558e', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'89cb91b3-c48a-4892-b41a-2fdd2681257f', u'links': [{u'href': u'http://localhost/v1/volume/targets/89cb91b3-c48a-4892-b41a-2fdd2681257f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/89cb91b3-c48a-4892-b41a-2fdd2681257f', u'rel': u'bookmark'}], u'extra': {}}]} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.105243s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_singular [0.081842s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f949752-5556-4b29-9764-935b9a2d9366 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:25.499336+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "type": "iqn"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_one [0.061711s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:25.560979+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.077193s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_update_invalid_api_version [0.044903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_one_custom_fields [0.060814s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} GOT:{u'boot_index': 0, u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.064892s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.130366s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector [0.095058s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-cbf905e7-c078-4bb9-868c-1a7f16a29b1c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_root_non_existent [0.058495s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ed0c868c-1732-42a5-8149-3b203a98167f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_error [0.055927s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e0b08ca2-e537-4ea3-bcf9-4a8d67735355 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_none [0.110300s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.011476s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_no_mandatory_field_type [0.040134s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0214bd0-68d3-4ddb-9722-af385667a0c3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute type. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.117163s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.013699s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_one [0.013442s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.012002s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.011943s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_multi [0.154583s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3a048f0-b6dc-4c8c-a29c-45a00e3ab589 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:12:25.742542+00:00", "updated_at": "2017-10-31T14:12:25.747665+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0adf4549-36a6-467a-a36c-be7bf154fd3c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:25.742542+00:00", "updated_at": "2017-10-31T14:12:25.747665+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_node_uuid_to_node_id_mapping [0.077579s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-13ac0b12-d89d-44b6-a838-3a2ea64a051e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:25.852885+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.028407s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestVolumeConnectorObject.test_volume_connector_init [0.010654s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.016428s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_exception [0.013012s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_node_id [0.063703s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6ff00bfb-4a26-4d7b-8d85-72bca329d787 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.016305s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_ref_ssl [0.012748s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.151051s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_node_locked [0.077365s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-653963cb-4f1f-4234-b8b6-4e2312ce1490 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.018017s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.040186s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_get_ring_success [0.038348s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_invalid_power_state [0.074915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce606fbf-fc58-43c4-a992-8e773d245d5e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"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\\\".\"}"} {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.022060s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail [0.064005s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:12:25.988888+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.027993s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error [0.014213s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_code [0.014585s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_sepecified_by_path [0.045458s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9556c463-0352-4937-ae8a-2183f8dd0042 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute target_uuid. Value: 'detail'. unable to convert to uuid\"}"} {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.015070s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_default_v1 [0.015585s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_no_token [0.017818s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_multi [0.113860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3decfcb6-35cb-45f5-be4a-46f78aec3b64 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:12:26.048082+00:00", "updated_at": "2017-10-31T14:12:26.057162+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_not_allowed_interfaces_set [0.103585s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.017024s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.012138s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_all_by_node_name_ok [0.102756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'79b48dad-5201-4d15-a935-1877c20f8f29', u'links': [{u'href': u'http://localhost/v1/volume/targets/79b48dad-5201-4d15-a935-1877c20f8f29', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/79b48dad-5201-4d15-a935-1877c20f8f29', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 1, u'uuid': u'1ccfca35-0f5f-485f-8206-82eb4d2ce34a', u'links': [{u'href': u'http://localhost/v1/volume/targets/1ccfca35-0f5f-485f-8206-82eb4d2ce34a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1ccfca35-0f5f-485f-8206-82eb4d2ce34a', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}, {u'boot_index': 2, u'uuid': u'f35b3db4-85fb-44ae-bf0a-e6f88b2594b6', u'links': [{u'href': u'http://localhost/v1/volume/targets/f35b3db4-85fb-44ae-bf0a-e6f88b2594b6', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/f35b3db4-85fb-44ae-bf0a-e6f88b2594b6', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_efibootimg [0.027798s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_node_id [0.070877s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9500cb87-421d-48e6-ae0b-aeb90d2e23b8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.013894s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_one_invalid_api_version [0.039138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_for_hrefs [0.023930s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.025563s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.014129s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.163648s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_sort_key_invalid [0.076190s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ac19f8b-e654-4ac0-afc5-6036536afa0a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-168e0714-8345-4023-89f5-17ea15eda1d9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3bbecc50-fa0b-485d-bd67-2869b2a05412 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.029183s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_singular [0.112490s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a97be3ff-33b0-413d-94e0-2e8644822408 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:26.234691+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.014826s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.036773s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.019292s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.021096s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_node_id [0.059838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-17ecf0b9-5efd-4a18-90e0-0fe74caf38da X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.014233s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.011914s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_no_mandatory_field_value [0.062906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0dab039e-68a0-4c15-b59a-92bb4aa2a638 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute boot_index. Value: 'None'. Mandatory field missing.\"}"} {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.012851s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.034758s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.015054s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.012994s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_node_uuid [0.089092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0ac318c-3764-4a4b-8891-f7c26c845e8d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:26.387784+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {2} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_node_uuid_to_node_id_mapping [0.087994s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ad1fc43f-5238-4b1c-92fd-a0ba6a65163c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:26.439577+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {2} ironic.tests.unit.api.v1.test_volume_targets.TestVolumeTargetObject.test_volume_target_init [0.014250s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.095901s] ... ok {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.046865s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_root [0.089743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eb50e2fa-fc44-4ed7-a83a-7a3e149eeaac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:26.475465+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.127054s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.024784s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 15 objects. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.020088s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.097285s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_non_existent_property_fail [0.053613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6427cd59-d21b-454f-a037-478a30d65b0e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.024119s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.037211s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.019487s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.020272s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ "max-count" must be a positive value. {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.107518s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.027502s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Data migrations have not completed. Please re-run. {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_boot_index_already_exist [0.086617s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8ab0910f-a6cb-459e-9a39-12e60b919ecb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\"}"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type_missing [0.083034s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.037112s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_node_uuid [0.088009s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5255e656-187f-4e45-b892-99bd3372d9e5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:12:26.706969+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.095380s] ... ok {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.129527s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_node_uuid_inalid_type [0.049746s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2d77014-101b-4387-83be-d108ff91429c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.117208s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_error [0.056951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-76ef32c7-08c9-442e-8678-c02926f3673b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.086173s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.117434s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.020498s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_invalid_node_uuid_format [0.043491s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': 123, 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-113aee3c-526d-42a7-9e61-1067090b99f1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.020342s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.019068s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.019284s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.048153s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-984658a8-4ba3-4d1e-aa1a-f7ab3ddffba7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.126041s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.112550s] ... ok {0} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.019573s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_no_mandatory_field_type [0.050355s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-77936886-ed25-49fb-a581-149b54199007 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute volume_type. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.016752s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.015503s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.012415s] ... ok {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.034617s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.094859s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.019296s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.014452s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.020107s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.056003s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_account_exception [0.016329s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.128818s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions [0.024543s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_account_exception_radosgw [0.016798s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.080204s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.021819s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ foo() migrated 15 of 15 objects. {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.024313s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.034097s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.014629s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.015897s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.016264s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.047848s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.013910s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.013917s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.094457s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.135919s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.015962s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_no_refresh [0.049070s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.029040s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.040717s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.036788s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.018132s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.033924s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.018303s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.033358s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.018152s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.018128s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.020592s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.060559s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.164421s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.073994s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.026911s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.028985s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.018954s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_connerror [0.019235s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.018278s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_ioerror [0.027712s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.022330s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.011581s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.096319s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.096746s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.029754s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.021696s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.030840s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.043973s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.026868s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_with_endpoint_override [0.033516s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.027616s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_glance_protocol [0.010803s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.033287s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.113470s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.022127s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.013891s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.076932s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.038594s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.042853s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.012171s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.028025s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.018234s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi [0.025705s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.029315s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.088460s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.033190s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_ipxe_config_uefi [0.095948s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_invalid_network_interface [0.080306s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.050231s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.031946s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.020838s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.014299s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.015482s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_valid_interfaces [0.095147s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.075864s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.025168s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.116034s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.009299s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_invalid_network_interface [0.033241s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.042362s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.084216s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.079230s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.124561s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.094766s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_dhcp [0.076282s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.070015s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_network_interface_is_set [0.134630s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.022111s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.117374s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.037994s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.021737s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.017597s] ... ok {2} ironic.tests.unit.common.test_exception.TestIronicException.test___init__ [0.012670s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.040365s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.015804s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.014106s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_two [0.013095s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.050741s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_classic_driver_unset_interfaces [0.167764s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_with_host_port [0.019148s] ... ok {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.123269s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_check_image_service__no_client_set_http [0.019846s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_check_image_service_client_set [0.012886s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.061328s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_get_image_service__no_client_set_https_secure [0.020276s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.021185s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.021585s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000876s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_allowed_interfaces [0.097016s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.014416s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.034316s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_config_exception [0.015422s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.013935s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.032830s] ... ok {0} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.131311s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.018704s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.021264s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw [0.023151s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.020229s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_invalid [0.020514s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.021628s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_with_swift [0.020779s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.013038s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.024533s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_not_allowed_interfaces [0.150040s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.088601s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.018104s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.020862s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_region [0.014043s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.026746s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_true [0.014885s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.015660s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.017880s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.012430s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.025377s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.014242s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults [0.018725s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.028363s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.014675s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.013373s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.012844s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.102541s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.051376s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.021894s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.016236s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.070434s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success [0.026625s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init___radosgw [0.082347s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href [0.018669s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_token_not_needed [0.018162s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.015963s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.071923s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_unknown_protocol [0.015720s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.079475s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.031384s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.025394s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.077084s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.076151s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.030742s] ... ok {1} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.011589s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.026598s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.030954s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.012274s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.086133s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.010708s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_mkisofs_fails [0.046334s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.013101s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.013502s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.026763s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.042831s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.019211s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.017977s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.042716s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.035543s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.019504s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.025084s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.010378s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.022143s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_url_internal_fail [0.010562s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.018139s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task_incorrect [0.529674s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.047112s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.019584s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.020678s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.169230s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.075871s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.028629s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.014093s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.152349s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_existing_rule_passes [0.024244s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.028402s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.077979s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.017351s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.086125s] ... ok {3} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_known [0.067013s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.147403s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.179830s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.081115s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.101333s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.079318s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.150938s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.083178s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.162851s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.086089s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type [0.070266s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.017437s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.018621s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.142678s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.086728s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.159057s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.075612s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.082494s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_classic_drivers [0.062177s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.039377s] ... ok {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.157046s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.057338s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.133701s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.041148s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_dynamic_drivers [0.122223s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.088143s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.067072s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.063595s] ... ok {3} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.115136s] ... ok {3} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.013252s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.087460s] ... ok {3} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.011705s] ... ok {3} ironic.tests.unit.common.test_exception.TestIronicException.test___init___string_serializable [0.011750s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.018423s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.014801s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.017816s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_with_keystone [0.020788s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.016293s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.095073s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_get_image_service__no_client_set_https_insecure [0.018082s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.017429s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.012762s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.017125s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_false [0.014857s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_deploy_kr_info [0.038991s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_ref_no_ssl [0.011279s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.025323s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.013141s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_deploy_kr_info_bad_driver_info [0.035614s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.018729s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.015848s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.183217s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment_no_physnet [0.027733s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.038821s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.016550s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_refresh [0.047407s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.020725s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir_ipxe [0.038665s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_out_range_auth_strategy [0.018126s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.038384s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.015217s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.038908s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.017661s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_auth_strategy [0.012466s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.021328s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.015016s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.060064s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.025697s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.124250s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.029740s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.217308s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.051775s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.024686s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi [0.044771s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_current_release_entry [0.025225s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.016823s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_uefi_rootfs_fails [0.031791s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.015786s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.113151s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.018264s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.015479s] ... ok {0} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.011268s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.022922s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.021154s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.013610s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.024529s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.018248s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_url_internal [0.006673s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.098778s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_url_with_interface [0.008228s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.125780s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.009193s] ... ok {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.023972s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.033078s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.279988s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.034846s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.102156s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.027197s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.013505s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.017652s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.155631s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha1 [0.015486s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.014445s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.013949s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.100104s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.020160s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.013015s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.012432s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.013028s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.103250s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.016667s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.018424s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.100886s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.048652s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.084163s] ... ok {0} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_fails_to_load_extension [0.018202s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_skip_if_no_hw_types [0.020494s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.082758s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.025996s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.044642s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [0.085898s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.046726s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.425909s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.017523s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_existing_rule_raises [0.015975s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.084877s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.055412s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.173738s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.079177s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_not_supported [0.054768s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.092133s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.035015s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.077850s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.086876s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.174952s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.078591s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.018407s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.014324s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.090843s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_not_supported [0.228414s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.091841s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.064992s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.169524s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.052461s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_uefi [0.073912s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.038679s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.017807s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.019356s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.039514s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.022840s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.019492s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.016315s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.029220s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.020406s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.018557s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_config_for_configdrive [0.151914s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.260988s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.019330s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.028023s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.013201s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_driver_or_hw_types [0.045652s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.021942s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.014888s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.011714s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.019521s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.014180s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.033753s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_existing_rule_fails [0.023675s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.022148s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.012902s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_missing_rule_fails [0.022265s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.104449s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.016587s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.071123s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.092863s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.153098s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.031292s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.080288s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.094398s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.241760s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.037362s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.103482s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.088954s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.094015s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.265814s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.035824s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.032740s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_elilo [0.098120s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha512 [0.014520s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.013276s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.016324s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_elilo_config [0.051338s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.248722s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.018640s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.027471s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.012407s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.012683s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_volumes [0.069920s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.016518s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.084372s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.016398s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.037090s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.022013s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.255416s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.021662s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.018179s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.096383s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_bios [0.085358s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.047376s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_deploy_kr_info_ipxe [0.030789s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.029084s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.044283s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.030914s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.017507s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.020600s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.019691s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.020556s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.019779s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.257599s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.021657s] ... ok {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.012008s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.013850s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.012277s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.028704s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.301743s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.012753s] ... ok {3} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.060869s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.103062s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.407235s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.285231s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.016420s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.229967s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.070135s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.141893s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.242042s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.284668s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.228192s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.323823s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.176827s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.247326s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.108997s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.280166s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_name_conflict [0.033496s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.102920s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.017571s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.017389s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5 [0.011837s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5_not_binary [0.012609s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_throws_for_invalid_or_unsupported_hash [0.012565s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.259260s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.014864s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.185109s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.014309s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.012392s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.014721s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.012903s] ... ok {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.015693s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.012404s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.037556s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.317148s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.047272s] ... ok {3} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_get_mockable_ext_mgr [0.015928s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.023399s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.213587s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.111158s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.320412s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.107838s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.201139s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.276234s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.225501s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.049853s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.241193s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.059264s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.254088s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.362570s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.281521s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.245966s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.206442s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.209722s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.226964s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.234370s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.186222s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.232773s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.062377s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.026317s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.069423s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.043982s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.204049s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.299670s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.178717s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.223869s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.231819s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.284274s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.214958s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.102763s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.495778s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_without_enabled_hardware_types [0.101114s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.101231s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.112365s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_automated_clean [0.266376s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.238209s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.238583s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_tear_down_fail [0.102223s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.245167s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.231424s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.236694s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.057757s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_error [0.252473s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.096899s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.242480s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.129294s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.268969s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_prepare_error [0.255323s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.111005s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.250954s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.061916s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.229998s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.081139s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.064414s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_manual_clean [0.265811s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_invalid_state [0.441396s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat [0.287894s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.246126s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_deploy_timeouts [0.253753s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_manage [0.231358s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort [0.082797s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.287928s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.292054s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_with_step_name [0.085817s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.048993s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.080926s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.265573s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.089324s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok [0.228614s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.281686s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.237945s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.021279s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.250600s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.024302s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_configdrive [0.256218s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_alive [0.192753s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeout [0.021134s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.026166s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_disabled [0.019772s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.287671s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.023516s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.504423s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.020047s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.038499s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.103683s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.040009s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.018958s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.020500s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.019920s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.100684s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.039869s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.019705s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.021074s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.306954s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestHardwareTypeProperties.test_hardware_type_properties_manual_management [0.137603s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.266214s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo_iscsi [0.171472s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_ipmitool [0.166959s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.324748s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states [1.147026s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.167499s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.698431s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.114622s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.226372s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.287088s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated [0.454089s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.120274s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.118385s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_validate_fail [0.103073s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.213021s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.224665s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.273833s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps [0.075027s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.288247s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_unset_clean_step [0.079641s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.117915s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.229450s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_provide [0.217192s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.093670s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.207439s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.243711s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.256972s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.247949s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.267645s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.080739s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual [0.294918s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_no_skip [0.074593s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.235514s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.020134s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.020149s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.025903s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.232412s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.246781s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.041646s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.042556s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.035566s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.028435s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.021621s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.315056s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.021357s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.021665s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.210559s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.238919s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.023939s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.015059s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.022644s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_agent_ilo [0.181934s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.222050s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.245211s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.310859s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ilo [0.171502s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.155983s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.043363s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.241235s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [0.249909s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_snmp [0.152255s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces [0.060510s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_disabled [0.177482s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.053827s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_ok [0.257678s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.275577s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_all [0.183227s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices_iface_not_supported [0.065469s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_timeouts [0.237046s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_manual_clean [0.237900s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_shutdown [0.158419s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.264325s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.218273s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_not_supported [0.068435s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.083995s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provisioning_action_worker_pool_full [0.256479s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.090349s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.219238s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.292632s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.087734s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.105352s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.247614s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.028887s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.021932s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_disabled [0.020259s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.025366s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.021799s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.021732s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.112724s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.022477s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.220745s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.027811s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.027668s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.058984s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.042600s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.346130s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.039165s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.081551s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.169625s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.028879s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.040037s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.024805s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.078300s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.016771s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.103752s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.019721s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.021907s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.019467s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.082801s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.108378s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_swift_error [0.275143s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.089618s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.061262s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.171488s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.079469s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state [0.245912s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_2 [0.234283s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.158740s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.134369s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.056294s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.121134s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_automated_clean [0.229884s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.271750s] ... ok {0} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift [0.015592s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.015572s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.017027s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.137393s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.082330s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.353228s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_clears_maintenance_reason [0.077586s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.276202s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.193341s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.120637s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.078144s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_hw_type [0.122776s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.255819s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_not_supported [0.122156s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.322037s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.034053s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.023238s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_node_locked [0.047463s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.026849s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.303893s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_not_supported [0.077143s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices [0.059876s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.211879s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.097535s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.018587s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.022847s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi [0.073979s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.018079s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.019142s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_node_locked [0.049151s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status [0.266374s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_supported [0.064131s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.094133s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.225906s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_invalid_param [0.071151s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.109499s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_missing_param [0.064291s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_exceptions_skipping [0.225074s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_no_management [0.145415s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.258200s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_node_locked [0.043889s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.079969s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_node_not_locked [0.212502s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.082123s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.026379s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.024015s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.079764s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.057825s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.036095s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.030704s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.080293s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.033408s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.082509s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.058592s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.070633s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.121509s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.073397s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.012388s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.028635s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.027938s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.013334s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.296741s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.019556s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.019129s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.024822s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.020266s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.095761s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.030871s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.020328s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.020659s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.082208s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.020646s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.019331s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.398439s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.020365s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.020252s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.013273s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.015677s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.019556s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.019537s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.029512s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.018357s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ipmitool [0.172811s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.234156s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.046325s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.038527s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.078613s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_with_driver [0.046095s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.040074s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.073559s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_pxe [0.180782s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.036153s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.043143s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.080509s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_with_driver [0.039215s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.043030s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_snmp [0.166517s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.046978s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.138761s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.063872s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.015300s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.017214s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.016479s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.023412s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.021394s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync_hw_type [0.168552s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.063186s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.276886s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.078665s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.155396s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.074866s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.206790s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.088198s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.205952s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.106549s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.154454s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.089007s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_iface_not_supported [0.092155s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async_hw_type [0.183345s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.125488s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [2.368198s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.095391s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.199218s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.259316s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.166712s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.091957s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.115071s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.212191s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data [0.175058s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.074562s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.256982s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_non [0.158534s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.143391s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.211893s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device [0.079499s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.080752s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.021807s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.262011s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.136201s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.025409s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.016191s] ... ok {3} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive [0.021705s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_validate_fail [0.094956s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.015375s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.028582s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.019646s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.023441s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.020811s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.016183s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.143870s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.020686s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.019289s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.120949s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.017115s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.030841s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.020153s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.020912s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.010538s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.139261s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.108708s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.015988s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.013849s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.013034s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.018193s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device [0.357055s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.033342s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.024206s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.136599s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.029469s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_validate_fail [0.079485s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.035708s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.012212s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.011948s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.091112s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.012517s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.092056s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.069645s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.088609s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.085654s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.076974s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.075087s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.022364s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.102110s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.113874s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.056571s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.074699s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_max_count_zero [0.147716s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.105061s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.720819s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.125581s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.109407s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_same_nodes [0.254680s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.147455s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.139414s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.134754s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.137619s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_one_node [0.202914s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.456706s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.052750s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.025267s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.136096s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.043097s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.027974s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.222700s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.023829s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods_not_supported [0.061844s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.037883s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.139656s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_multiple_workers [0.181668s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.048711s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.032554s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.030826s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.142244s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.042882s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_part [0.183928s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.052570s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.226563s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.029191s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_implemented [0.087180s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.139850s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.053019s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.063431s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.029849s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.120267s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_vendor_interface_not_supported [0.213770s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task [0.191402s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.102757s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.080376s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.124595s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.043654s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.092518s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.065031s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.055113s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.030135s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.026824s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.090885s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.049872s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.023937s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.134560s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.022274s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.018885s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.058188s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.033305s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.103464s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.046846s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.035542s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.124836s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.021945s] ... ok {0} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.019672s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.050143s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.024476s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.026041s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.028198s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.021129s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.043892s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.021195s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.018865s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.032257s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.022995s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.013985s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.014111s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.042202s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.033659s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.032104s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.034340s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.292094s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.046193s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.035211s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.035402s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.033111s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.042024s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.022141s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.097925s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.035462s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.016522s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.049523s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.034569s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.034302s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.042546s] ... ok {0} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_empty_db [0.080199s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.032458s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.105008s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.037458s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.029261s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.032808s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.041255s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.103437s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.038913s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.045146s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.018114s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.118962s] ... ok {2} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_random_exception [0.016373s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.025612s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.019100s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.074621s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.026612s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.021967s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.025371s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.031592s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.023694s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.103500s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.043260s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.029757s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.086080s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.011048s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.034005s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.044794s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.079590s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.028636s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.100246s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.027798s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_vendor_interface_not_supported [0.148512s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.048107s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.081556s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.094678s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.046381s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.026803s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.014153s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.161916s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.109646s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.088951s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.037724s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.015606s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.029675s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device_fail [0.081057s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.110807s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.113455s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_properties [0.075570s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.122079s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.082973s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.019370s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.112244s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_sensors_data [0.071662s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.050248s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.035817s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.022594s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.053009s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_validate [0.072404s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.028580s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.022086s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.047517s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.122965s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.027841s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state [0.072844s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.025123s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.058701s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.025195s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.038336s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.025897s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_invalid_state [0.078268s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.116467s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.043769s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.050272s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.026544s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_fail [0.082956s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.037099s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.052430s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.115962s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.025466s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.046336s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.025475s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_ok [0.084891s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.038845s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.024898s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.027108s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.032501s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.025407s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.076180s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.033706s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.140505s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.030265s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.043347s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.035562s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.028340s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.025715s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.021942s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.038165s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.025867s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.021158s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.016359s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.047976s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.134349s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.030559s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.040988s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.022081s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.019943s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.104432s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.036527s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.026204s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.015305s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.034172s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.065717s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.036675s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.134041s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.050973s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.038398s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.061150s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.035271s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.040979s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.017547s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.045070s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.016615s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.073101s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.132062s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout [0.019276s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.034747s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_ironic_exception [0.017345s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.029550s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_shared_lock [0.017178s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.035157s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.029375s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.019001s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.016241s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.016336s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.048245s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.018207s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job [0.058764s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.146087s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs [0.031880s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.040522s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.040875s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.086752s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.013520s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.022708s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.066861s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.139347s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.070440s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.039624s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.222628s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.093647s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.085157s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.137831s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.082236s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.043274s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.102237s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.129789s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.053976s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.136655s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.092633s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.053912s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.108485s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.036416s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.033599s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.130158s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.091179s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.105548s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.044106s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.038497s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.082029s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.072013s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.032945s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.037485s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.162717s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.102202s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login_exception [0.089540s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.122120s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_address [0.028932s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.163553s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_supported_boot_devices [0.079320s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.136216s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration [0.114898s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_fail [0.083358s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.100351s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.134943s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.133690s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info [0.033689s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_imc_exception [0.086375s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_on_webserver [0.044889s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.078598s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.129849s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.075454s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.078755s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.108070s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.076896s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.132015s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host [0.028904s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host_and_drac_address [0.028456s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.029839s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create_use_webserver_true_ramdisk_webserver [0.088902s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.032232s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.038454s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.026954s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_uefi_no_glance_image [0.064785s] ... ok {2} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_version_exists [0.097979s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.070703s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.026825s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.067799s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.022350s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_uuid [0.061630s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.024241s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_and_drivers [0.043843s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.242133s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.069248s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.377790s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.027620s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_one_driver [0.050610s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.030587s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_with_old_conductor [0.044253s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.090397s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.037008s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.046262s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.036667s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.143784s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.074657s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.034560s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.048323s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.037280s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.034051s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.040498s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.086033s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.031148s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.085163s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.034565s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.047749s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.032564s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.112911s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.042632s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.035199s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.029394s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_invalid_job_queue [0.039619s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.028569s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.081233s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.026776s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.046630s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed [0.068167s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.015545s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.054565s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.017326s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed [0.070973s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.101211s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.035145s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.036824s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.062324s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.044811s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.089115s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.069120s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.043541s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.050056s] ... ok {3} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_1 [0.134338s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.045879s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.069215s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.032507s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.054804s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.079362s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.085062s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.051699s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.051767s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.036548s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.083089s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.051336s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.055043s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.038921s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.049416s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.050385s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.091553s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.057168s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.055069s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.045147s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.085180s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.054825s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.064856s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.042788s] ... ok {3} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_2_some_nodes [0.456431s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.035753s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.087799s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.070392s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.036752s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.034302s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.110487s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.088568s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.080962s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.031538s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.041129s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.068089s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.108177s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.064187s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.086464s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.078903s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.013915s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.037439s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.034550s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.078020s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.143574s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.105603s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.056708s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_many_drivers [0.036218s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_no_driver [0.032076s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.055779s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_one_driver [0.032126s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.092979s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.045607s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.027149s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.056867s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.143035s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.037002s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.069685s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.063406s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.031332s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.045155s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.028105s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.040569s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.029506s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.040591s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.036114s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_phyisical_disks [0.136315s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.030257s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.051201s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.035269s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.081172s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.036645s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.073409s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.130070s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.046138s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.089521s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.043639s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.036853s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.041362s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.034469s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.100662s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.080681s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.029297s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.058102s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.032309s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.043377s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_exc [0.068796s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.031300s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.112349s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.059583s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.060208s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.080705s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.045328s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.051040s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.076482s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.042886s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.087739s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.053122s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.050861s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_clean_step_foreach_url [0.094025s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.057534s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.047696s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.095636s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.052568s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.056191s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_processing_on_any_url_fails [0.081670s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.046467s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.065820s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.021419s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_checksum_validation_error [0.079157s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_recreate_boot_iso_use_webserver [0.124382s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.056689s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.027584s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.044268s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.041883s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.043521s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.054848s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.089724s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.052317s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.041168s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.031609s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.064398s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.042547s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.026175s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.092483s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.034298s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.060325s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.051534s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.038542s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.053038s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.030918s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance [0.106367s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.034984s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.112770s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.070472s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.037184s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.030646s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.079791s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.033972s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.079967s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.029785s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.029490s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.118752s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_missing [0.026712s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.038869s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.027708s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.032724s] ... ok {3} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.012971s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.026579s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.015968s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.012658s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.026974s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.134833s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.037803s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.101686s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.300334s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.082827s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.106066s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.080871s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.091177s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.090298s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.100755s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.083849s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.084942s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.104759s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.100361s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.074308s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.082323s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleTestCase.test_cimc_handle [0.102995s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.080118s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.109728s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_password [0.031364s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.077915s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.049839s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.035063s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.096761s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device [0.087392s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.079437s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login [0.100034s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info [0.030369s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device_fail [0.085775s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_username [0.036302s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.085987s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state_fail [0.080089s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.083725s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device [0.106454s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_off [0.079679s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.280408s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.087130s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_properties [0.093010s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_fail [0.087887s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.093523s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.129781s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_validate [0.086562s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on [0.105883s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.091323s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_fail [0.082954s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_ok [0.102826s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.137784s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.082443s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.084064s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.026949s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.026447s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.035094s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.131057s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.095606s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.061637s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.083767s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.014795s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.030948s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.129426s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.041173s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_ok [0.301608s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.076797s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.061637s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.014920s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.047024s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change [0.081941s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.123908s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.027226s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.077169s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.076349s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.029250s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.087140s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.030204s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.040199s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.025417s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.074445s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.070955s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.026598s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.026065s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.035484s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.026093s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.084577s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.058638s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.089937s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.072041s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.106304s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.014358s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.036185s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.029928s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.069165s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.033179s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.076335s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.031704s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.076639s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.190700s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.070493s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.065383s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.056410s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.055248s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist_mac_exception [0.079327s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.093918s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.028581s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.084123s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.024240s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.038733s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.091454s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_fail [0.033446s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.090969s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.042638s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.036927s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed [0.087417s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.072935s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.086878s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.036024s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status [0.047450s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.034770s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.037948s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.087550s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.091054s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.045979s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.027299s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_invalid_component_type [0.070276s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.061827s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.032167s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration [0.131182s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.032750s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_if_invalid_update_mode_provided [0.074841s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.064954s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.034522s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.029033s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.068148s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.065745s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.140951s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.064899s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.062017s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.102941s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.061419s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [0.069356s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.133487s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.093123s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.087928s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.105175s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.100931s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.098885s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.030395s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.082027s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.075444s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_no_boot_iso [0.033929s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.102508s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.079661s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.080122s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.088342s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance [0.064570s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_object_name [0.030833s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.081072s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.081886s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_MissingParam [0.075087s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_InvalidParam [0.082362s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.075517s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.073866s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.114414s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_url [0.087192s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.080962s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.080197s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.085386s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.076490s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.134286s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_deploy_iso_name [0.028186s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.079929s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.030549s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.087032s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.083241s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_invalid [0.082376s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.087475s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.030979s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.171049s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.085216s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.033615s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.130639s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.112560s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.124216s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.102997s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.037626s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.124326s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.113026s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.097434s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.146230s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.114579s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.102360s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.105305s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.124279s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.060091s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.097004s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.086287s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.085637s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.121977s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.082871s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.081844s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_no_cafile [0.055836s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.040253s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.029415s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.098896s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.095793s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.097481s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.105403s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.075655s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.032004s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.098339s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.091656s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.045581s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.066999s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.086334s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.048334s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.035293s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.041422s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.034121s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.087653s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.044304s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.030145s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.079392s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.248188s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.096430s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.096476s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.105298s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.094966s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.032479s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.104752s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.033434s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.126666s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.030567s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_extra_new_key [0.088751s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.027329s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.103321s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.029214s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.025873s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.076051s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.029261s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.134925s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.028144s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.110395s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.080979s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.031537s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.025642s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.085412s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.083732s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.142884s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.088873s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.027424s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.027663s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.089497s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.029845s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.086307s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.039836s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.082923s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.031449s] ... ok {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.082116s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.031785s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.059223s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.037334s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.018984s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.037632s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.321296s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.079752s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.087831s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.234024s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.278402s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.094773s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.091961s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.063870s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.051867s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.056816s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.017046s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.017857s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.017411s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.019680s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.017207s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.065924s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif_removal_no_deprecation [0.109087s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.094946s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.084134s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.093794s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.148682s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.094195s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.080998s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.123418s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.059611s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.142864s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.095467s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.078262s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.043424s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.076165s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.083357s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.147030s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.016468s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist [0.257135s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.090145s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.036415s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.080509s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.035387s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_ok [0.034554s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.088049s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.080575s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.136913s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.030611s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.032440s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.077758s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.093305s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id_portgroup [0.095705s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_not_supported [0.055967s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.083501s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.085757s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.085055s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.080043s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.079633s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.091571s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.098657s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.083531s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.077366s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.096711s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.087509s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.080308s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.074608s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.099149s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown [0.114508s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.080792s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.077926s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.087076s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.582363s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.033264s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.076014s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.085643s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.072669s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.077116s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.086011s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.076718s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.077377s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_no_firmware_url [0.073606s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_missing_values_empty_string [0.027156s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [0.057164s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info [0.034682s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.107939s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.033918s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.064207s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_validate_oneview_resources_compatibility [0.078914s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.040309s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info [0.027470s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.031810s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_properties [0.027648s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot [0.089312s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.419932s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sht [0.026770s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.091375s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state [0.076119s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.080922s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare [0.093754s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.076330s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.126016s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_cleaning [0.083033s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.034636s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.074386s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.153257s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_deploy_iso_with_file [0.090311s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.080540s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.119049s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.072263s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.090403s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.061111s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.067219s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.104240s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_boot_iso_name [0.033446s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.054715s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_deploy_iso_with_image_service [0.094098s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.035434s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.103958s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.054929s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_active_node [0.438389s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.106647s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.112203s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.089160s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_cleaning [0.093250s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.081566s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.029947s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.171173s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.135448s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.086690s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_maintenance_when_raise_exception [0.218298s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.085245s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.153005s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.139220s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.083950s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.091404s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.133712s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.083665s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_when_in_use_by_oneview [0.214893s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.093743s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.097116s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview [0.085967s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.151003s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.098018s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.096466s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_successfuly_allocated_to_ironic [0.093827s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.097282s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.091133s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_inspect_hardware [0.082740s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.168196s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.031302s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.096226s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.037089s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_validate [0.088089s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.103022s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.089876s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.081009s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_inspect_hardware [0.086009s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.121462s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.091293s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.093678s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_fail_to_get_server_profile [0.081126s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.035236s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.033544s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.096592s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_unknown_device [0.081378s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.135424s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.049606s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_properties [0.031685s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.031244s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.028940s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_sensors_data_not_implemented [0.084937s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.036987s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.137390s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.040283s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_supported_boot_devices [0.078762s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.086059s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.254005s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_invalid_device [0.083326s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.087986s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state [0.081418s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.128920s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_validate_fail [0.096714s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.238120s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_validate_fail_exception [0.096726s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.121481s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.025636s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.024268s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.023488s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_validate_fail_node_used_by_oneview [0.096048s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.180249s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.026793s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.024458s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.054728s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_invalid_state [0.092889s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.077107s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.668790s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on [0.093935s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.189906s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.058620s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.101167s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.053576s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_fail [0.089854s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.056290s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.075768s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_fail_node_in_use_by_oneview [0.088912s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.197916s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.068949s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.088861s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.086617s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.063125s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.075237s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.084031s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.187600s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.081724s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.066307s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.120680s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.087325s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.071866s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.322187s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.092144s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.069462s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.088369s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.031655s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.032216s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.068484s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.030945s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.090744s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.029393s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif [0.070978s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.099877s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.100865s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.073045s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.091260s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_neutron_absent [0.074923s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.089211s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.341198s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.075001s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_no_deprecation_if_removing_vif [0.110449s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.038843s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.113510s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.064079s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.069265s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.041121s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.096478s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.074551s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.318405s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.024301s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.078394s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.098493s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.060873s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.322202s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_no_binding_host_id [0.087435s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.053951s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.122316s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.041860s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.074157s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.100012s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.196176s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.133464s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.118987s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.094151s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.080303s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.114378s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.075836s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.199648s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.080035s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.074504s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.124743s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.080933s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.078135s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.085765s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.197592s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.077224s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.083238s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_image_source_is_url [0.117989s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.075581s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.076661s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.088601s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_no_proxy_without_proxies [0.122906s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.076321s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.090563s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.080925s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info [0.030685s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_fails [0.024646s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.077170s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done [0.089777s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_validate [0.088936s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.067060s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_empty_response [0.088479s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.037353s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_deploy [0.071670s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.041976s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.242966s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.041128s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare [0.082703s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.155612s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.074604s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif [0.090184s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.029330s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_cleaning [0.080826s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.092572s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.084850s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.069514s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_with_automated_clean_disabled [0.089039s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id [0.074982s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.088378s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.129953s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.073691s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.092368s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.087410s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.070870s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_available_when_not_in_use_by_oneview [0.187643s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.090151s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.065307s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.089636s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.088439s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.074519s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.086576s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_in_use_by_oneview [0.195447s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.078542s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.100780s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.087647s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.080823s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.079344s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot_fail [0.096070s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_not_in_use_by_oneview [0.183867s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.082608s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook [0.052030s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook_no_hook_registered [0.045226s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.079223s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.035987s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning [0.095453s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.047413s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_raise_exception [0.204263s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.339229s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.084269s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.089422s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic [0.078083s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_old_command [0.073827s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.085905s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_node_is_in_use_by_oneview [0.093381s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.150835s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.104898s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_does_not_have_sp_applied [0.089787s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.109968s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_binding_host_id_raise [0.110859s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.082885s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_running [0.277291s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.071004s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.106689s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.086286s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_all_scenarios_for_translate_oneview_states [0.031064s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_malformed_capabilities [0.028542s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_sh [0.027375s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_in_use_by_oneview [0.304514s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_spt [0.029068s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_configure_tenant_network_exception [0.101508s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.131604s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sh [0.032837s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_get_properties [0.034037s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down_cleaning [0.092886s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.094589s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.101724s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_get_properties [0.060051s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_cleaning [0.091179s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_get_properties [0.033192s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.089812s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_validate [0.067423s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.110331s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_steps [0.077020s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down [0.086561s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device [0.069476s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.013847s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.014620s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.024410s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.015468s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_fail [0.070260s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.026558s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_validate [0.103137s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.164835s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.018894s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.019560s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_true [0.085319s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.049919s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.050063s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.021211s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate [0.077254s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.098715s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_version_mismatch [0.078970s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail_exception [0.073183s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_oneview_error [0.207457s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.096336s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state_fail [0.067993s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_deallocate_server_hardware_from_ironic [0.074942s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.104477s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.018500s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.018343s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_deallocate_server_hardware_from_ironic_missing_profile_uuid [0.071269s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.107236s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.020007s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_validate [0.090753s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.018162s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.018778s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_no_server_profile [0.067610s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.018419s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail [0.076264s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.026972s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.114871s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.029558s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_same_server_profile_applied [0.071646s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.026658s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off [0.077013s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.026896s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_has_sp_applied [0.068922s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.027375s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.109050s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.025884s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.095099s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.026390s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.043100s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device [0.078414s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_invalid_device [0.067491s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.080595s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.096752s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.098821s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.026926s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.028294s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_persistent [0.080001s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.077225s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_config [0.034683s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.013341s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.105636s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.013296s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.013924s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail [0.072785s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.013003s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_driver_info [0.043537s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.082136s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.012827s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.013847s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.013019s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_spt [0.040391s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot [0.070361s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.013280s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.015110s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.098282s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.035063s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.087746s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.032631s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.035606s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_deploy [0.118605s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.031012s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.033003s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.010470s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.026382s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.068488s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.013225s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.012232s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.023414s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.032156s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.015895s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.027150s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.088691s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.084368s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.082290s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.091254s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.068767s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.060036s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.160667s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.088431s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.026350s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.034483s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.146872s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.103278s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.190417s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_active_node [0.565333s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.100960s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.088527s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.089557s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.018458s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.068386s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_with_automated_clean_disabled [0.098875s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.104653s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id_extra [0.089918s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.102411s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.028101s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.098666s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.030695s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.017168s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.018484s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.091489s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.079066s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.022597s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_clean_failed_when_no_oneview_error [0.227085s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.026774s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.022135s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered [0.080205s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.020293s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.110006s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.013817s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.018409s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__add_applied_server_profile_uri_field [0.105714s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.021103s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.016778s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.100169s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.027930s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.104342s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_is_standalone [0.031527s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__del_applied_server_profile_uri_field [0.104781s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.026358s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.096288s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_ok [0.018936s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.087969s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.020890s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.018706s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic [0.106911s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.019482s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.085711s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.018497s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.093202s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.020262s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.018560s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.018726s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic_node_has_server_profile [0.101921s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.090924s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.032072s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy [0.117589s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.040346s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic_no_server_profile [0.092858s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.079297s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.032599s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.032131s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.030384s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.077605s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_partition_image [0.130556s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down [0.117741s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate [0.064255s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.092521s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_get_properties [0.070592s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_multiple_commands [0.093413s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_invalid_port [0.061632s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.030450s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.087054s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.084622s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_without_server_profile [0.104114s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.085313s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_is_done [0.084697s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.089158s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_from_next_boot_device [0.092514s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.084494s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_still_running [0.084807s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.040388s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_false [0.108826s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.079063s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance [0.147847s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.084026s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.087484s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_for_node_not_in_use_by_ironic [0.117017s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.130497s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_get_properties [0.036363s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.080011s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.104676s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.069053s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_error [0.128068s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot [0.097506s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.089583s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.073900s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_fail [0.095205s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_localboot [0.119125s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_start_console [0.062022s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy [0.094527s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console [0.062083s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.092256s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_image [0.109352s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_get_power_state_fails [0.105984s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.088346s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off_failed [0.081352s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.120888s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.101889s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.202401s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.031938s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.080291s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.045556s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_fails [0.104982s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.059195s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.068769s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.096146s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.056390s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.061489s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.044694s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot [0.113170s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.059280s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.071472s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot [0.070167s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.028807s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.028703s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.128402s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot [0.062994s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.028873s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.040030s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.027298s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.024452s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.036215s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.027707s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.410892s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.035687s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.112339s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.028968s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.026496s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.060858s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.032074s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.031512s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.134652s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.063086s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.030635s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.028092s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.194480s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.090306s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.110656s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.080086s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.089764s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.035731s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_fail [0.081694s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.035849s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps [0.090333s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.137502s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_ok [0.090417s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.118175s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_interface [0.087842s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.014174s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.064147s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.038094s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_unknown [0.080561s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.142428s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.020506s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.021890s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.018475s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.021096s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_force_set_boot_device_ok [0.116041s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.027010s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.106385s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.122338s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.028802s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.018588s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.018077s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_persistent [0.091321s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.021277s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.099146s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.088345s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.044715s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.083593s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.049971s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_fails [0.102035s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.041702s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_proxies [0.119001s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.023632s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_fail [0.098082s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.026607s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off [0.101473s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started [0.090298s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_power_validate [0.083849s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.088589s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_did_start [0.082302s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_doesnt_complete [0.100983s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_off [0.085336s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_get_clean_steps [0.079621s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.035400s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_other_commands [0.088301s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.100896s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_ok [0.086700s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step [0.078919s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_race [0.087509s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_timeout_ok [0.088385s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean [0.112898s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.013336s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_missing_steps [0.088462s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.014583s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.098489s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.017870s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.015147s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_ok [0.082624s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.016687s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.015427s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.104315s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.024429s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.022872s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_ok [0.089350s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.018103s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.152930s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.024952s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.099861s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.030406s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.020228s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_ok [0.090205s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.019223s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.023366s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.017192s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.015392s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.046754s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.027160s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.094522s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.048506s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.028375s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.027123s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.027651s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.057438s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.030175s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.105272s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.047912s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.033903s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.047832s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.021364s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.090925s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active [0.366704s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_running [0.081372s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.080914s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.086385s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_custom_interface [0.086075s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.084394s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.106813s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities [0.082675s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.323909s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.013358s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.013739s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.014940s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.015317s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities_none [0.081921s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.161475s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.040947s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_none [0.153296s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.036171s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.027291s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.091009s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.018319s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.018072s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.097623s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.032221s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.158326s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.028434s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.036052s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.029905s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.102986s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.028155s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.099511s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.098155s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.139416s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.089455s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.064303s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.091187s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.017673s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.234773s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.103171s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.153335s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.527676s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.016770s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.014963s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.016112s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.113691s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.121827s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_uefi [0.102564s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.013545s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.014054s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.015175s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.013752s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.109710s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.029431s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.105221s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.121905s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.039800s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.040516s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.103575s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.037036s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_reboot [0.115871s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.129465s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.040320s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_post_clean_step_hook [0.037973s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.024011s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.100076s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.023586s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.033002s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection [0.020618s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.014780s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.105253s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.118447s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonsupported_image [0.091082s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.144126s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.124199s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.101778s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.097607s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.151852s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.133844s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.219465s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.142547s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.128809s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.180421s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.015895s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.019627s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.064660s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.016756s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.016575s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.018357s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.064353s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.024782s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.210151s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.026193s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.042588s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.076211s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.225403s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.087912s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.053860s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.029219s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.079631s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.056617s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id [0.080481s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe [0.072333s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.054745s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.028119s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.018333s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.023940s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.063251s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_ipxe_timeout [0.075784s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.032059s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.235391s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.022476s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.054014s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.024679s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.024922s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot [0.096884s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.045189s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.043921s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.030409s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.033300s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled [0.021860s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_wdi [0.082520s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.025674s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_disabled [0.019198s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_enabled [0.019856s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.016458s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.111154s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.022163s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_without_is_whole_disk_image [0.092752s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.032309s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel_ipxe [0.034704s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.046215s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.031929s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.036585s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overriden_default_value [0.039508s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.035881s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.369588s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_localboot [0.037749s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_dev [0.037170s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.044197s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_whole_disk_image [0.031963s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.034636s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.047523s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.040001s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.036091s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.032699s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_additional_volume_type [0.084105s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.029876s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail [0.082200s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.025249s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.126162s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_volume_type [0.071699s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info [0.024990s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail_nodir [0.086361s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.075988s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_kernel [0.028885s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_ramdisk [0.026895s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.032645s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.020453s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.074492s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.024242s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.050729s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.015254s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.012823s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.032976s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.011775s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.022305s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.023188s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.020982s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.013963s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.107456s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.017031s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.021059s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.022727s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled_disabled [0.027638s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.019827s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_inspector_not_imported [0.015460s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_is_standalone [0.022789s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.023937s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.104208s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_url [0.022716s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.023960s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.020443s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.022162s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.017485s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.020924s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.018561s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.030134s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.437406s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.018764s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.018667s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.108427s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.020878s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.021001s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.050854s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.020040s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.022315s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.021611s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.018740s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.020363s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.030404s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.019791s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.077856s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.118587s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.032082s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.049845s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.021420s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.022053s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.052575s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.092085s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.020861s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.020239s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.100471s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.050005s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.021238s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd [0.068624s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.020265s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.047524s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.030237s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.102128s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.044442s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.086384s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.051709s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_empty_password [0.090123s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.020991s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.094999s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.021839s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.081823s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.048079s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.058385s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_missing_port [0.147065s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.064860s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.060357s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.026982s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.021347s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.025238s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.019137s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.225732s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.021715s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.118827s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.017701s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.019132s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.092134s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_console [0.101693s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_ok_logout [0.116786s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.250957s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.089418s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.084844s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm [0.094401s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.094601s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.082265s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.134744s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_logout [0.067997s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.030270s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.080546s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.085309s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.032584s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.038313s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.083601s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device_fail [0.110757s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.043024s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.088694s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.046496s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.028649s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.029537s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_up [0.082836s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retries_exceeded [0.048070s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.092015s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.041332s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.042463s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.105375s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.089943s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.044752s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.050002s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.024480s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.047570s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.027455s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.093319s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.025758s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.046630s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.020554s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.018318s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.036561s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.024529s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.034093s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.091535s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.032253s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.026790s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.045745s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_service_url [0.031012s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.038018s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.087713s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.030995s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.042079s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_error [0.039026s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_and_wait_for_state_change_fail [0.464414s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.040436s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_ok [0.032881s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.094334s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.023529s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.041484s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.023135s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_invalid_state [0.082025s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.037105s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.084034s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.036113s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.090693s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate_fail [0.065018s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.014369s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.070137s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.017668s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables_immutable [0.012375s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBaseDriver.test_class_variables_immutable [0.013524s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.095163s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.025242s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.101576s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.076377s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_ok [0.035800s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd_without_user [0.083391s] ... ok {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.098363s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_deploy_interface [0.023623s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.097976s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_power_interface [0.026611s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console [0.091992s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.083538s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.097051s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.080963s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver [0.005326s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver_exc [0.002816s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_driver [0.003249s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_socat_driver [0.003201s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.253508s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_ok [0.088303s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.085874s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.082500s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.098730s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.086473s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.041767s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.032558s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.096809s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.036513s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.102221s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_persistent [0.105237s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.035364s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.112773s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.089132s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.081847s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.082155s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.026407s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.077354s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_not_mounted_exception [0.003836s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.094775s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_good [0.073798s] ... ok {1} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver [0.007700s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_fail [0.076507s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.076439s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_already_off [0.077549s] ... ok {1} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_direct [0.088109s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver [0.003959s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver [0.005125s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver_import_error [0.004021s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_force_boot_device_persistent [0.075396s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_on [0.075063s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_properties [0.027531s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.095854s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.089729s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_ok [0.082882s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_fail [0.082138s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.087336s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.091556s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_ok [0.081789s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot_timeout [0.086198s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.032170s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.094912s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_bad_device [0.075537s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_ok [0.082658s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.100889s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.090338s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.031102s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.077489s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.084204s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.088674s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.088498s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_ok [0.077444s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_vendor_routes [0.067857s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.097195s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi [0.071637s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_valid_methods [0.086315s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.097572s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.024839s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.022670s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_fail [0.080436s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.022691s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console_fail [0.090467s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.022829s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.012428s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.012633s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_ok [0.073550s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.014408s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot_uefi [0.139592s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.086118s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.017138s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.015520s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.024046s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_ok [0.069134s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.021909s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.083738s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.026008s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_netboot [0.115489s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_returns [0.062565s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.023415s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.014312s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.022989s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.094254s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.012940s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.014969s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_invalid_state [0.079713s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.013971s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version [0.015001s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false [0.126602s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.015787s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.012898s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_ok [0.080678s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.015603s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.103810s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.016273s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.013504s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.013068s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.055401s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.011421s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.010875s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.124318s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_fail [0.086740s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.011638s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.013118s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_non_retryable_failure [0.055023s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.013027s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.013502s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.015614s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retry [0.042787s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.014193s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.014561s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_fail [0.098130s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.011761s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.042580s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.010705s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.015413s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.045307s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.017910s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.172340s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.026010s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_timeout_ok [0.092044s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.048664s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.017207s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.027855s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.048671s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_fail [0.092771s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.052321s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.034062s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.023584s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.161042s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.044474s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.024110s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.022058s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.081042s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.041286s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.025887s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.073781s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.038712s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.023834s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.022754s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.040593s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.023155s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.022196s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.041136s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.112853s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.030330s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.030681s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.024152s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.022363s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.034381s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_cold [0.098748s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.043549s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.061915s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.284277s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.037313s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_fail [0.087296s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_driver_routes [0.065861s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.079880s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.092762s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.079495s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.080293s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.097112s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_failed [0.033680s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.093731s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.084949s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_iscsi [0.099259s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.083545s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.095272s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.091842s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.127061s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.055787s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.079634s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.049848s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.123125s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.053067s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state [0.076413s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.130399s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state_exception [0.072231s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.080705s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.155955s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.071934s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device [0.102166s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.066137s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.176249s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_supported_boot_devices [0.079736s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.058472s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.068328s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.061016s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_fail [0.075015s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.075480s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.174860s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_fail [0.109112s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.107992s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.149249s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot [0.095280s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.037255s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_local_boot [0.093554s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.043984s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.022996s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.019054s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.095449s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_partition [0.095338s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.090430s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe [0.099673s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel [0.049145s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_is_force_persistent_boot_device_enabled [0.134583s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info [0.058142s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_without_is_whole_disk_image [0.057466s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_local_boot [0.083055s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.033457s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.346723s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.034693s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.070184s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.046973s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.032252s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.083575s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.031376s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.057058s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.041497s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.072686s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.048248s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.032176s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.027217s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.042680s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.019320s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.017766s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.088871s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.041488s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.019315s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.017353s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.026945s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.020919s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.028840s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.021600s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.024588s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.029871s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.107447s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.027499s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.016466s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.029791s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.023966s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.020620s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.020285s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.026219s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.022606s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.023523s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.023817s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.025447s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot [0.128614s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.025899s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.023935s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.039547s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.029573s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.048453s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.048399s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.057818s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.158829s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.049444s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.061723s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.054952s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.080015s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.030911s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.025794s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.026342s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.089774s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.025412s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.093864s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.019753s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.027750s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.082783s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.028893s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.021307s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.022404s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.019500s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.153338s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.102246s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.017707s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.017516s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.084421s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.023584s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.075829s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.026499s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.022986s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.074033s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.083285s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_security [0.020353s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.036170s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.088404s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_fail_logout [0.127482s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_timeout [0.073392s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.133667s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.024414s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info [0.071587s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.029550s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.072115s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.018316s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.028021s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.016364s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.024756s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.014499s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_address [0.087016s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.012068s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_password [0.051815s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_service_profile [0.066419s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.080121s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_username [0.050691s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_down [0.076782s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device [0.114897s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_already_target_state [0.051456s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_error [0.073431s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_exceed_iterations [0.061732s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_properties [0.058089s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot__wait_state_change_fail [0.084023s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot [0.111591s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.018225s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.013282s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.028927s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.044082s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.027260s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state [0.168512s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.484330s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.035940s] ... ok {3} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.019550s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_fail [0.117749s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.144778s] ... ok {3} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_default_interfaces [0.108265s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate [0.062479s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.012174s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.020954s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.014717s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.019434s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.031277s] ... ok {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.126913s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.145105s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.015494s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_boot_interface [0.029526s] ... ok {0} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_driver [0.021425s] ... ok {0} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_inspector_driver [0.019247s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_console_interface [0.026948s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.064907s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_inspect_interface [0.023144s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_boot_device [0.019611s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_properties [0.026030s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_agent [0.077772s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.063303s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.081670s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_ipa_debug [0.086434s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_driver_interfaces [0.017943s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_fail [0.022236s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.039156s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_ipa_debug [0.070274s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.019730s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_tftp_images_master_path [0.033379s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_deploy_ramdisk [0.033826s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.081478s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_agent_driver [0.003535s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___try_import_exception [0.001227s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_not_mounted_exception [0.003830s] ... ok {0} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver [0.004357s] ... ok {0} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver_exc [0.002443s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info [0.049450s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_good [0.318371s] ... ok {0} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_with_inspector_interface_enabled [0.088648s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options [0.076268s] ... ok {0} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver_import_error [0.002259s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.018527s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.087845s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.038626s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.025729s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1 [0.057512s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.042958s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.089784s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.058755s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.088146s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.038758s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.029950s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.090167s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_iscsi_driver_exc [0.004330s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_driver [0.003151s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_mounted_ok [0.004925s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_mounted_ok [0.004164s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.034899s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___try_import_exception [0.007609s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.029702s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.019042s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.085237s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.026636s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.018882s] ... ok {3} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_iscsi [0.076008s] ... ok {3} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver [0.003116s] ... ok {3} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver_import_error [0.001737s] ... ok {3} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver_import_error [0.003215s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.023757s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.043757s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.028356s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.024588s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.020227s] ... ok {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.010529s] ... ok {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.010371s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.026049s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.016955s] ... ok {3} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.112835s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.023460s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.024222s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.024769s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.023562s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.022855s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.019841s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.021498s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.024395s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.012148s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.018362s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.030950s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.018823s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.016705s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.023284s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.060850s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.024524s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.018949s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.064265s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.022214s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.011336s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.011218s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.079694s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.024632s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version_subset_of_fields [0.014939s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.013406s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.018421s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_get_properties [0.039609s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.012639s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.012171s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.010715s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.009740s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.088606s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.015418s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.010956s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.010361s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_bad_method [0.095860s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.016558s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.019929s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.012558s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.013103s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.017684s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.012149s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.087080s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.011974s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.027614s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.013333s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.013221s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.022227s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.013898s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.023648s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.012759s] ... ok {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.013124s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.079756s] ... ok {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.015494s] ... ok {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.014473s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.018658s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.012920s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.017583s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.013450s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.021858s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.013860s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.013954s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.017459s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.022826s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.024372s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.111777s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.019510s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.022766s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.021098s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.033344s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.016936s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.021962s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.029256s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.014467s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.030431s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.107247s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.013194s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.019966s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.015179s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.014677s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.022311s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.029942s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.015786s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.025866s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.013862s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.012243s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.024478s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.012875s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.013271s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.028070s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.016728s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.025884s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.012717s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.013860s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.028479s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.020124s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.021065s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.013876s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.021938s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.027611s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.013510s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.012747s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.026341s] ... ok {3} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.017793s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.016244s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm_fail [0.102000s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.022084s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.016138s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.020811s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.014573s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.015337s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device [0.090659s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.017020s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.018190s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_properties [0.035105s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.017173s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.013255s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_sensors_data [0.030297s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.017722s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.032672s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.019646s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_supported_boot_devices [0.067635s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.020867s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.020888s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device_fail [0.083295s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_fail [0.062476s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_fail [0.073878s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.009945s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.015486s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.010142s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.010397s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.010772s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.009795s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.025603s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.009845s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.012753s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.012430s] ... ok {2} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_override_with_cimc_interfaces [0.070059s] ... ok {2} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_default_interfaces [0.083170s] ... ok {2} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_override_with_ipmi_interfaces [0.103234s] ... ok {2} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test___init___try_import_dracclient_failure [0.022474s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_get_properties [0.026618s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_supported_boot_devices [0.026132s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_validate [0.033377s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_socat_driver [0.003604s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.100168s] ... ok {2} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver_exc [0.003513s] ... ok {2} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_interfaces [0.097619s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver_import_error [0.002658s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver [0.003484s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver [0.004332s] ... ok {2} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.085155s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.022525s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.022439s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.021140s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.024820s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.026138s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.025135s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.028175s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.030280s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.030473s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.017626s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.019409s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.018330s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.024426s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.021594s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.020389s] ... ok {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.011366s] ... ok {2} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.010420s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.018672s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.020228s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.017348s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.010605s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.013843s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.012702s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.011357s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.009328s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.012394s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.009721s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.009472s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.008794s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.008743s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.009502s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.008941s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.017062s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.011694s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.010362s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.012628s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.017231s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.022195s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.020537s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.017344s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.017443s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.037617s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.015201s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.017795s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.017025s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.012908s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.019034s] ... ok ====== Totals ====== Ran: 4384 tests in 103.0000 sec. - Passed: 4372 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 322.4149 sec. ============== Worker Balance ============== - Worker 0 (1096 tests) => 0:01:23.086987 - Worker 1 (1096 tests) => 0:01:17.789900 - Worker 2 (1096 tests) => 0:01:25.045036 - Worker 3 (1096 tests) => 0:01:23.077866 Test id Runtime (s) -------------------------------------------------------------------------------------------------------------------------------- ----------- ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state 2.368 ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states 1.147 ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_specify_interfaces 0.835 ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance 0.721 ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps 0.698 ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware 0.669 ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom 0.582 ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_active_node 0.565 ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header 0.550 ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task_incorrect 0.530 Slowest Tests: make[1]: Leaving directory '/<>' fakeroot debian/rules binary pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh binary --with python2,systemd dh_testroot dh_prep dh_installdirs dh_auto_install pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions python setup.py install --force --root=/<>/debian/tmp --no-compile -O0 --install-layout=deb /usr/lib/python2.7/dist-packages/setuptools/dist.py:350: UserWarning: The version specified ('9.1.2.dev19.201710311400.xenial') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running build running build_py running egg_info writing requirements to ironic.egg-info/requires.txt writing ironic.egg-info/PKG-INFO writing top-level names to ironic.egg-info/top_level.txt writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt [pbr] Reusing existing SOURCES.txt running install_lib creating /<>/debian/tmp creating /<>/debian/tmp/usr creating /<>/debian/tmp/usr/lib creating /<>/debian/tmp/usr/lib/python2.7 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/plugin.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common/waiters.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1 copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/README.rst -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/baremetal_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/api_microversion_fixture.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_nodestates.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_nodes.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_drivers.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_portgroups.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/clients.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/task_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/base_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/rpcapi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/version.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ko_KR creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/ko_KR/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES/ironic-log-info.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES/ironic.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/pt_BR creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/pt_BR/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/policy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/rpc_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/i18n.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/profiler.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/rpc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/dhcp_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/boot_devices.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/hash_ring.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/keystone.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/network.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/release_mappings.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/grub_conf.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/fsm.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/wsgi_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/isolinux_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/driver_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/exception.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/service_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1/image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2/image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/base_image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/images.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/pxe_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/states.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/swift.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/context.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/app.wsgi -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/middleware/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/middleware/auth_token.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/middleware/parsable_error.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/app.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/expose.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/hooks.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/controllers/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/controllers/root.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/volume.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/port.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/state.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/versions.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/types.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/ramdisk.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/portgroup.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/collection.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/driver.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/link.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/controllers/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/fake.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/hardware_type.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/fake_hardware.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/oneview.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/raid_config_schema.json -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/ipmi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/ilo.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/irmc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/cisco_ucs.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/boot.ipxe -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/image_cache.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/fake.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/flat.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage/cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage/noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent_client.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/master_grub_cfg.txt -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/firmware_processor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/console.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent_base_vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/inspector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/vendor_passthru.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/bios.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/job.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/iscsi_deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/console_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ipxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/pxe_grub_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ipmitool.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/helper.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/elilo_efi_pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/drac.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/generic.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/redfish.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/fields.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/port.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/portgroup.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/indirection.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/notification.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests copying build/lib.linux-x86_64-2.7/ironic/tests/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/functional copying build/lib.linux-x86_64-2.7/ironic/tests/functional/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/functional copying build/lib.linux-x86_64-2.7/ironic/tests/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit copying build/lib.linux-x86_64-2.7/ironic/tests/unit/stubs.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_rpcapi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_task_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test__mgr_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/mgr_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_base_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/policy_fixture.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_wsgi_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_network.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_context.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_pxe_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_rpc_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_exception.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_hash_ring.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_images.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_glance_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_release_mappings.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_states.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_fsm.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_swift.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_rpc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_driver_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_keystone.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_policy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_middleware.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_audit.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_ospmiddleware.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_acl.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_expose.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_volume.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_ramdisk.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_volume_connectors.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_versions.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_nodes.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_drivers.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_types.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_volume_targets.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_portgroups.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_root.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_hooks.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_root.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/raid_constants.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/boot.ipxe -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_drac.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_cisco.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_fake.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_ipmi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_generic.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_volumes.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_irmc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/third_party_driver_mocks.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/pxe_grub_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_oneview.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_redfish.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_image_cache.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_flat.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage/test_cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_inspector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_console.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_bios.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_job.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_ipmitool.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_console_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_agent_client.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/test_helper.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config_timeout.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_ilo.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/elilo_efi_pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_port.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_portgroup.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_objects.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_fields.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_notification.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd copying build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd copying build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd/test_conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd copying build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd/test_dbsync.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp copying build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp copying build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp/test_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp copying build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp/test_neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_volume_connectors.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/test_api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/test_types.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_nodes.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_volume_targets.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_portgroups.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_node_tags.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conf copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conf/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conf copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conf/test_auth.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conf creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/dbsync.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/none.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db copying build/lib.linux-x86_64-2.7/ironic/db/migration.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db copying build/lib.linux-x86_64-2.7/ironic/db/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/migration.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/env.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/script.py.mako -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/README -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/models.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic.ini -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/glance.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/opts.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/audit.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/oneview.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/metrics.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/inspector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/database.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/default.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/iscsi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/console.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/keystone.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/ipmi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/metrics_statsd.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/dhcp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/ilo.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/irmc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/service_catalog.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/cisco.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/auth.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/drac.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/swift.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/redfish.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf running install_egg_info Copying ironic.egg-info to /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-rootwrap script to /<>/debian/tmp/usr/bin Installing ironic-dbsync script to /<>/debian/tmp/usr/bin Installing ironic-conductor script to /<>/debian/tmp/usr/bin Installing ironic-api script to /<>/debian/tmp/usr/bin debian/rules override_dh_install make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' cp etc/ironic/ironic.conf.sample etc/ironic/ironic.conf dh_install --fail-missing make[1]: Leaving directory '/<>' dh_installdocs debian/rules override_dh_installchangelogs make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' if [ -e /<>/debian/CHANGELOG ] ; then \ dh_installchangelogs /<>/debian/CHANGELOG ; \ else \ dh_installchangelogs ; \ fi make[1]: Leaving directory '/<>' dh_python2 debian/rules override_dh_systemd_enable make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done + ls -1 debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in// + MYINIT=debian/ironic-api + cp debian/ironic-api.init.in debian/ironic-api.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in// + MYINIT=debian/ironic-conductor + cp debian/ironic-conductor.init.in debian/ironic-conductor.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-conductor.init.in # If there's an upstart.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.upstart.in` ; do \ MYPKG=`echo $i | sed s/.upstart.in//` ; \ cp $MYPKG.upstart.in $MYPKG.upstart ; \ done + ls -1 debian/*.upstart.in ls: cannot access 'debian/*.upstart.in': No such file or directory # Generate the upstart job if there's no already existing .upstart.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.upstart.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-upstart-job $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-api.upstart.in + [ -e debian/ironic-api.upstart.in ] + pkgos-gen-upstart-job debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-conductor.upstart.in + [ -e debian/ironic-conductor.upstart.in ] + pkgos-gen-upstart-job debian/ironic-conductor.init.in # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done + ls -1 debian/*.service.in ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in/.service.in/ + MYINIT=debian/ironic-api.service.in + [ -e debian/ironic-api.service.in ] + pkgos-gen-systemd-unit debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in/.service.in/ + MYINIT=debian/ironic-conductor.service.in + [ -e debian/ironic-conductor.service.in ] + pkgos-gen-systemd-unit debian/ironic-conductor.init.in dh_systemd_enable make[1]: Leaving directory '/<>' debian/rules override_dh_installinit make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done + ls -1 debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in// + MYINIT=debian/ironic-api + cp debian/ironic-api.init.in debian/ironic-api.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in// + MYINIT=debian/ironic-conductor + cp debian/ironic-conductor.init.in debian/ironic-conductor.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-conductor.init.in # If there's an upstart.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.upstart.in` ; do \ MYPKG=`echo $i | sed s/.upstart.in//` ; \ cp $MYPKG.upstart.in $MYPKG.upstart ; \ done + ls -1 debian/*.upstart.in ls: cannot access 'debian/*.upstart.in': No such file or directory # Generate the upstart job if there's no already existing .upstart.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.upstart.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-upstart-job $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-api.upstart.in + [ -e debian/ironic-api.upstart.in ] + pkgos-gen-upstart-job debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-conductor.upstart.in + [ -e debian/ironic-conductor.upstart.in ] + pkgos-gen-upstart-job debian/ironic-conductor.init.in # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done + ls -1 debian/*.service.in ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in/.service.in/ + MYINIT=debian/ironic-api.service.in + [ -e debian/ironic-api.service.in ] + pkgos-gen-systemd-unit debian/ironic-api.init.in + sed s/.init.in/.service.in/ + echo debian/ironic-conductor.init.in + MYINIT=debian/ironic-conductor.service.in + [ -e debian/ironic-conductor.service.in ] + pkgos-gen-systemd-unit debian/ironic-conductor.init.in dh_installinit --error-handler=true make[1]: Leaving directory '/<>' dh_systemd_start dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_installdeb debian/rules override_dh_gencontrol make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' if dpkg-vendor --derives-from ubuntu ; then \ dh_gencontrol -- -T/<>/debian/ubuntu_control_vars ; \ else \ dh_gencontrol -- -T/<>/debian/debian_control_vars ; \ fi dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe dpkg-gencontrol: warning: package python-ironic: unused substitution variable ${python:Versions} dpkg-gencontrol: warning: package python-ironic: unused substitution variable ${python:Provides} dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe dh_gencontrol debug symbol wrapper: all non-arch-all packages for this build platform amd64: dh_gencontrol debug symbol wrapper: packages to act on: dh_gencontrol debug symbol wrapper: ignored packages: make[1]: Leaving directory '/<>' dh_md5sums dh_builddeb INFO: pkgstriptranslations version 129 INFO: pkgstriptranslations version 129 INFO: pkgstriptranslations version 129 INFO: pkgstriptranslations version 129 INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'python-ironic' in '../python-ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb'. INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'ironic-common' in '../ironic-common_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb'. INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'ironic-api' in '../ironic-api_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb'. INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'ironic-conductor' in '../ironic-conductor_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb'. dpkg-genchanges -b -mLaunchpad Build Daemon >../ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1_amd64.changes dpkg-genchanges: binary-only upload (no source code included) dpkg-source --after-build ironic-9.1.2.dev19.201710311400.xenial dpkg-buildpackage: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 20171031-1413 Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Post Build Chroot | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1_amd64.changes: -------------------------------------------------------------- Format: 1.8 Date: Tue, 31 Oct 2017 14:02:13 +0000 Source: ironic Binary: python-ironic ironic-common ironic-api ironic-conductor Architecture: all Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Distribution: xenial Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Openstack Ubuntu Testing Bot Description: ironic-api - Openstack bare metal provisioning service - API ironic-common - Openstack bare metal provisioning service - daemons ironic-conductor - Openstack bare metal provisioning service - conductor python-ironic - Openstack bare metal provisioning service - Python library Changes: ironic (1:9.1.2.dev19.201710311400.xenial-0ubuntu1) xenial; urgency=medium . * Automated Ubuntu testing build: * [a595258] Add job definitions yaml to zuul configuration Checksums-Sha1: 55dfb11ecbeccf48dab00d8aec460c185e5c9827 8218 ironic-api_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb c3df646e05399e7c7efd3fd96f668a20fe3c93ef 31750 ironic-common_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb 8a7d593756d04950fc14f9aed5baee6a6f4c2de4 8252 ironic-conductor_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb 7a5bba0f760b702a4078b912272da60b2cd119e0 612442 python-ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb Checksums-Sha256: 0be04be2f9baddbfc5ca85a1bd00bc54fc0d85430bc3d574fac7e86b5dc377e4 8218 ironic-api_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb b24d4d52835dadc4c5f87084148abc8a7374b4515a044488af1a303dad30eed2 31750 ironic-common_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb 68a675534eee64a5a8749d80771015aede52f7088eeb54ede27cff6d416f4bcd 8252 ironic-conductor_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb 054c03318cd3da8ba68a81d1cc62a7dac2beb8284eec84dc92347519e0b152c0 612442 python-ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb Files: 33c52fe275c03d3f66a97a1d1b9a4186 8218 net extra ironic-api_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb a5389c5fcc51a06bdf1ed08c03c70555 31750 net extra ironic-common_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb 5b384ad8a3575a3bf390ea531b88dd51 8252 net extra ironic-conductor_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb a3b7a533883cd61b8f1438135806a151 612442 net extra python-ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ ironic-api_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb ----------------------------------------------------------- new debian package, version 2.0. size 8218 bytes: control archive=1517 bytes. 49 bytes, 2 lines conffiles 876 bytes, 20 lines control 273 bytes, 4 lines md5sums 1001 bytes, 25 lines * postinst #!/bin/sh 776 bytes, 28 lines * postrm #!/bin/sh 172 bytes, 7 lines * prerm #!/bin/sh Package: ironic-api Source: ironic Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 31 Depends: ironic-common (= 1:9.1.2.dev19.201710311400.xenial-0ubuntu1), init-system-helpers (>= 1.18~), python:any Section: net Priority: extra Description: Openstack bare metal provisioning service - API Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the API. drwxr-xr-x root/root 0 2017-10-31 14:13 ./ drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/init.d/ -rwxr-xr-x root/root 4054 2017-10-31 14:13 ./etc/init.d/ironic-api drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/init/ -rw-r--r-- root/root 1195 2017-10-31 14:13 ./etc/init/ironic-api.conf drwxr-xr-x root/root 0 2017-10-31 14:13 ./lib/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./lib/systemd/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./lib/systemd/system/ -rw-r--r-- root/root 592 2017-10-31 14:13 ./lib/systemd/system/ironic-api.service drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/bin/ -rwxr-xr-x root/root 153 2017-10-31 14:13 ./usr/bin/ironic-api drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/ironic-api/ -rw-r--r-- root/root 3317 2017-10-31 14:02 ./usr/share/doc/ironic-api/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/ironic-api/copyright ironic-common_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb -------------------------------------------------------------- new debian package, version 2.0. size 31750 bytes: control archive=1177 bytes. 235 bytes, 7 lines conffiles 878 bytes, 20 lines control 268 bytes, 4 lines md5sums 554 bytes, 22 lines * postinst #!/bin/sh Package: ironic-common Source: ironic Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 150 Depends: adduser, psmisc, python-ironic (= 1:9.1.2.dev19.201710311400.xenial-0ubuntu1), python:any Section: net Priority: extra Description: Openstack bare metal provisioning service - daemons Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the common files. drwxr-xr-x root/root 0 2017-10-31 14:13 ./ drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/ironic/ -rw-r--r-- root/root 120635 2017-10-31 14:13 ./etc/ironic/ironic.conf -rw-r--r-- root/root 113 2017-10-31 14:00 ./etc/ironic/policy.json -rw-r--r-- root/root 936 2017-10-31 14:00 ./etc/ironic/rootwrap.conf drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/ironic/rootwrap.d/ -rw-r--r-- root/root 212 2017-10-31 14:00 ./etc/ironic/rootwrap.d/ironic-images.filters -rw-r--r-- root/root 992 2017-10-31 14:00 ./etc/ironic/rootwrap.d/ironic-lib.filters -rw-r--r-- root/root 312 2017-10-31 14:00 ./etc/ironic/rootwrap.d/ironic-utils.filters drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/sudoers.d/ -r--r----- root/root 112 2017-10-31 14:02 ./etc/sudoers.d/ironic_sudoers drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/bin/ -rwxr-xr-x root/root 156 2017-10-31 14:13 ./usr/bin/ironic-dbsync -rwxr-xr-x root/root 156 2017-10-31 14:13 ./usr/bin/ironic-rootwrap drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/ironic-common/ -rw-r--r-- root/root 3317 2017-10-31 14:02 ./usr/share/doc/ironic-common/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/ironic-common/copyright drwxr-xr-x root/root 0 2017-10-31 14:13 ./var/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./var/lib/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./var/lib/ironic/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./var/log/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./var/log/ironic/ ironic-conductor_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb ----------------------------------------------------------------- new debian package, version 2.0. size 8252 bytes: control archive=1535 bytes. 61 bytes, 2 lines conffiles 916 bytes, 20 lines control 297 bytes, 4 lines md5sums 1043 bytes, 25 lines * postinst #!/bin/sh 800 bytes, 28 lines * postrm #!/bin/sh 184 bytes, 7 lines * prerm #!/bin/sh Package: ironic-conductor Source: ironic Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 32 Depends: ipmitool (>= 1.8.12), ironic-common (= 1:9.1.2.dev19.201710311400.xenial-0ubuntu1), init-system-helpers (>= 1.18~), python:any Section: net Priority: extra Description: Openstack bare metal provisioning service - conductor Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the conductor. drwxr-xr-x root/root 0 2017-10-31 14:13 ./ drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/init.d/ -rwxr-xr-x root/root 4070 2017-10-31 14:13 ./etc/init.d/ironic-conductor drwxr-xr-x root/root 0 2017-10-31 14:13 ./etc/init/ -rw-r--r-- root/root 1217 2017-10-31 14:13 ./etc/init/ironic-conductor.conf drwxr-xr-x root/root 0 2017-10-31 14:13 ./lib/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./lib/systemd/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./lib/systemd/system/ -rw-r--r-- root/root 596 2017-10-31 14:13 ./lib/systemd/system/ironic-conductor.service drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/bin/ -rwxr-xr-x root/root 159 2017-10-31 14:13 ./usr/bin/ironic-conductor drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/ironic-conductor/ -rw-r--r-- root/root 3317 2017-10-31 14:02 ./usr/share/doc/ironic-conductor/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/ironic-conductor/copyright python-ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1_all.deb -------------------------------------------------------------- new debian package, version 2.0. size 612442 bytes: control archive=14749 bytes. 2237 bytes, 20 lines control 54825 bytes, 507 lines md5sums 163 bytes, 9 lines * postinst #!/bin/sh 263 bytes, 14 lines * prerm #!/bin/sh Package: python-ironic Source: ironic Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 5979 Depends: alembic (>= 0.8.4), python-automaton (>= 0.5.0), python-cinderclient (>= 1:3.1.0), python-eventlet (>= 0.18.2), python-futurist (>= 0.11.0), python-glanceclient (>= 1:2.8.0), python-ironic-lib (>= 2.0.0), python-jinja2 (>= 2.8), python-jsonpatch (>= 1.1), python-jsonschema (>= 2.0.0), python-keystoneauth1 (>= 3.1.0), python-keystonemiddleware (>= 4.0.0), python-neutronclient (>= 1:6.3.0), python-oslo.concurrency (>= 3.8.0), python-oslo.config (>= 1:4.0.0), python-oslo.context (>= 2.14.0), python-oslo.db (>= 4.24.0), python-oslo.i18n (>= 2.1.0), python-oslo.log (>= 3.16.0), python-oslo.messaging (>= 5.24.2), python-oslo.middleware (>= 3.27.0), python-oslo.policy (>= 1.23.0), python-oslo.reports (>= 0.6.0), python-oslo.rootwrap (>= 5.0.0), python-oslo.serialization (>= 1.10.0), python-oslo.service (>= 1.10.0), python-oslo.utils (>= 3.20.0), python-oslo.versionedobjects (>= 1.13.0), python-osprofiler (>= 1.11.0), python-paramiko (>= 2.0), python-pbr (>= 2.0.0), python-pecan (>= 1.1.2), python-psutil (>= 3.2.2), python-pymysql (>= 0.6.2), python-requests (>= 2.10.0), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.9.0), python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1.20.0), python-swiftclient (>= 1:2.2.0), python-tooz (>= 1.47.0), python-tz (>= 2013.6), python-webob (>= 1.7.1), python-wsme (>= 0.8), python-alembic, python:any (<< 2.8), python:any (>= 2.7.5-5~) Section: net Priority: extra Description: Openstack bare metal provisioning service - Python library Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the Python libraries. drwxr-xr-x root/root 0 2017-10-31 14:13 ./ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/ -rw-r--r-- root/root 2352 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/PKG-INFO -rw-r--r-- root/root 1 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/dependency_links.txt -rw-r--r-- root/root 6693 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/entry_points.txt -rw-r--r-- root/root 1 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/not-zip-safe -rw-r--r-- root/root 47 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/pbr.json -rw-r--r-- root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/requires.txt -rw-r--r-- root/root 29 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.xenial.egg-info/top_level.txt drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/api/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/__init__.py -rw-r--r-- root/root 3964 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/app.py -rw-r--r-- root/root 1045 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/app.wsgi -rw-r--r-- root/root 1352 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/config.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/__init__.py -rw-r--r-- root/root 3790 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/base.py -rw-r--r-- root/root 2030 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/link.py -rw-r--r-- root/root 3802 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/root.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/ -rw-r--r-- root/root 9293 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/__init__.py -rw-r--r-- root/root 14089 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/chassis.py -rw-r--r-- root/root 1718 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/collection.py -rw-r--r-- root/root 18125 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/driver.py -rw-r--r-- root/root 77643 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/node.py -rw-r--r-- root/root 7093 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/notification_utils.py -rw-r--r-- root/root 30830 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/port.py -rw-r--r-- root/root 24724 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/portgroup.py -rw-r--r-- root/root 6940 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/ramdisk.py -rw-r--r-- root/root 1083 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/state.py -rw-r--r-- root/root 10776 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/types.py -rw-r--r-- root/root 20567 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/utils.py -rw-r--r-- root/root 4486 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/versions.py -rw-r--r-- root/root 3524 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume.py -rw-r--r-- root/root 21274 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume_connector.py -rw-r--r-- root/root 21189 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume_target.py -rw-r--r-- root/root 897 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/expose.py -rw-r--r-- root/root 6459 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/hooks.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/ -rw-r--r-- root/root 861 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/__init__.py -rw-r--r-- root/root 2281 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/auth_token.py -rw-r--r-- root/root 3876 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/parsable_error.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/cmd/ -rw-r--r-- root/root 1076 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/__init__.py -rw-r--r-- root/root 1711 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/api.py -rw-r--r-- root/root 3146 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/conductor.py -rw-r--r-- root/root 12834 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/dbsync.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/common/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/__init__.py -rw-r--r-- root/root 1284 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/boot_devices.py -rw-r--r-- root/root 18722 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/cinder.py -rw-r--r-- root/root 1222 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/config.py -rw-r--r-- root/root 2578 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/context.py -rw-r--r-- root/root 3709 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/dhcp_factory.py -rw-r--r-- root/root 23783 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/driver_factory.py -rw-r--r-- root/root 23059 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/exception.py -rw-r--r-- root/root 6041 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/fsm.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/__init__.py -rw-r--r-- root/root 6568 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/base_image_service.py -rw-r--r-- root/root 1431 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/service.py -rw-r--r-- root/root 7961 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/service_utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/__init__.py -rw-r--r-- root/root 1072 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/image_service.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/__init__.py -rw-r--r-- root/root 10410 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/image_service.py -rw-r--r-- root/root 158 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/grub_conf.template -rw-r--r-- root/root 2290 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/hash_ring.py -rw-r--r-- root/root 900 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/i18n.py -rw-r--r-- root/root 11275 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/image_service.py -rw-r--r-- root/root 22713 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/images.py -rw-r--r-- root/root 101 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/isolinux_config.template -rw-r--r-- root/root 4019 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/keystone.py -rw-r--r-- root/root 3949 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/network.py -rw-r--r-- root/root 20989 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/neutron.py -rw-r--r-- root/root 15304 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/policy.py -rw-r--r-- root/root 2455 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/profiler.py -rw-r--r-- root/root 14143 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/pxe_utils.py -rw-r--r-- root/root 5240 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/raid.py -rw-r--r-- root/root 5782 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/release_mappings.py -rw-r--r-- root/root 5220 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/rpc.py -rw-r--r-- root/root 3240 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/rpc_service.py -rw-r--r-- root/root 1272 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/service.py -rw-r--r-- root/root 12495 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/states.py -rw-r--r-- root/root 7189 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/swift.py -rw-r--r-- root/root 18304 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/utils.py -rw-r--r-- root/root 2316 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/wsgi_service.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/conductor/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/__init__.py -rw-r--r-- root/root 25273 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/base_manager.py -rw-r--r-- root/root 145725 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/manager.py -rw-r--r-- root/root 7492 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/notification_utils.py -rw-r--r-- root/root 45367 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/rpcapi.py -rw-r--r-- root/root 22392 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/task_manager.py -rw-r--r-- root/root 27329 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/conf/ -rw-r--r-- root/root 2325 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/__init__.py -rw-r--r-- root/root 4491 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/agent.py -rw-r--r-- root/root 3160 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/api.py -rw-r--r-- root/root 1533 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/audit.py -rw-r--r-- root/root 2018 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/auth.py -rw-r--r-- root/root 2090 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/cinder.py -rw-r--r-- root/root 1771 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/cisco.py -rw-r--r-- root/root 8312 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/conductor.py -rw-r--r-- root/root 2354 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/console.py -rw-r--r-- root/root 928 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/database.py -rw-r--r-- root/root 14838 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/default.py -rw-r--r-- root/root 4610 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/deploy.py -rw-r--r-- root/root 985 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/dhcp.py -rw-r--r-- root/root 1032 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/drac.py -rw-r--r-- root/root 8279 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/glance.py -rw-r--r-- root/root 4123 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/ilo.py -rw-r--r-- root/root 1451 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/inspector.py -rw-r--r-- root/root 2651 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/ipmi.py -rw-r--r-- root/root 3160 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/irmc.py -rw-r--r-- root/root 1028 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/iscsi.py -rw-r--r-- root/root 874 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/keystone.py -rw-r--r-- root/root 2383 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/metrics.py -rw-r--r-- root/root 1250 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/metrics_statsd.py -rw-r--r-- root/root 4108 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/neutron.py -rw-r--r-- root/root 2255 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/oneview.py -rw-r--r-- root/root 3641 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/opts.py -rw-r--r-- root/root 6403 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/pxe.py -rw-r--r-- root/root 1178 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/redfish.py -rw-r--r-- root/root 1102 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/service_catalog.py -rw-r--r-- root/root 1804 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/snmp.py -rw-r--r-- root/root 1121 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/swift.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/db/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/__init__.py -rw-r--r-- root/root 33459 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/api.py -rw-r--r-- root/root 1560 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/migration.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/__init__.py -rw-r--r-- root/root 975 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic.ini drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/ -rw-r--r-- root/root 434 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/README -rw-r--r-- root/root 1971 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/env.py -rw-r--r-- root/root 349 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/script.py.mako drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/ -rw-r--r-- root/root 1192 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -rw-r--r-- root/root 2225 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -rw-r--r-- root/root 1040 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -rw-r--r-- root/root 1222 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -rw-r--r-- root/root 969 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -rw-r--r-- root/root 2060 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -rw-r--r-- root/root 1022 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -rw-r--r-- root/root 4331 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -rw-r--r-- root/root 1089 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -rw-r--r-- root/root 1096 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -rw-r--r-- root/root 1020 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -rw-r--r-- root/root 1074 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -rw-r--r-- root/root 929 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -rw-r--r-- root/root 1022 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -rw-r--r-- root/root 1208 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -rw-r--r-- root/root 1440 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -rw-r--r-- root/root 1314 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -rw-r--r-- root/root 950 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -rw-r--r-- root/root 1007 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -rw-r--r-- root/root 1523 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -rw-r--r-- root/root 2485 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -rw-r--r-- root/root 1005 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -rw-r--r-- root/root 1084 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -rw-r--r-- root/root 2044 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -rw-r--r-- root/root 1024 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -rw-r--r-- root/root 1929 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -rw-r--r-- root/root 1385 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -rw-r--r-- root/root 2057 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -rw-r--r-- root/root 1208 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -rw-r--r-- root/root 1009 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -rw-r--r-- root/root 988 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -rw-r--r-- root/root 1177 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -rw-r--r-- root/root 49679 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/api.py -rw-r--r-- root/root 3680 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/migration.py -rw-r--r-- root/root 10401 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/models.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/dhcp/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/__init__.py -rw-r--r-- root/root 3318 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/base.py -rw-r--r-- root/root 9865 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/neutron.py -rw-r--r-- root/root 936 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/none.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/__init__.py -rw-r--r-- root/root 3084 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/agent.py -rw-r--r-- root/root 46482 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/base.py -rw-r--r-- root/root 1972 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/cisco_ucs.py -rw-r--r-- root/root 3336 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/drac.py -rw-r--r-- root/root 8708 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/fake.py -rw-r--r-- root/root 2474 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/fake_hardware.py -rw-r--r-- root/root 3539 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/generic.py -rw-r--r-- root/root 3991 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/hardware_type.py -rw-r--r-- root/root 4139 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/ilo.py -rw-r--r-- root/root 5029 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/ipmi.py -rw-r--r-- root/root 4258 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/irmc.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/__init__.py -rw-r--r-- root/root 30566 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent.py -rw-r--r-- root/root 29186 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_base_vendor.py -rw-r--r-- root/root 8386 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_client.py -rw-r--r-- root/root 480 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_config.template -rw-r--r-- root/root 777 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/boot.ipxe drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/__init__.py -rw-r--r-- root/root 2709 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/common.py -rw-r--r-- root/root 6101 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/management.py -rw-r--r-- root/root 6610 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/power.py -rw-r--r-- root/root 13399 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/console_utils.py -rw-r--r-- root/root 53171 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/deploy_utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/__init__.py -rw-r--r-- root/root 6879 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/bios.py -rw-r--r-- root/root 5437 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/common.py -rw-r--r-- root/root 5745 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/inspect.py -rw-r--r-- root/root 2830 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/job.py -rw-r--r-- root/root 8856 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/management.py -rw-r--r-- root/root 6766 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/power.py -rw-r--r-- root/root 35257 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/raid.py -rw-r--r-- root/root 7523 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/vendor_passthru.py -rw-r--r-- root/root 776 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/elilo_efi_pxe_config.template -rw-r--r-- root/root 7583 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/fake.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/__init__.py -rw-r--r-- root/root 25800 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/boot.py -rw-r--r-- root/root 31611 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/common.py -rw-r--r-- root/root 1882 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/console.py -rw-r--r-- root/root 17634 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/firmware_processor.py -rw-r--r-- root/root 11840 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/inspect.py -rw-r--r-- root/root 17982 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/management.py -rw-r--r-- root/root 8659 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/power.py -rw-r--r-- root/root 4406 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/vendor.py -rw-r--r-- root/root 18019 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/image_cache.py -rw-r--r-- root/root 6964 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/inspector.py -rw-r--r-- root/root 55794 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ipmitool.py -rw-r--r-- root/root 1817 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ipxe_config.template drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/__init__.py -rw-r--r-- root/root 44568 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/boot.py -rw-r--r-- root/root 8924 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/common.py -rw-r--r-- root/root 6663 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/inspect.py -rw-r--r-- root/root 14532 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/management.py -rw-r--r-- root/root 12032 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/power.py -rw-r--r-- root/root 24846 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/iscsi_deploy.py -rw-r--r-- root/root 131 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/master_grub_cfg.txt drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/__init__.py -rw-r--r-- root/root 26181 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/common.py -rw-r--r-- root/root 5260 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/flat.py -rw-r--r-- root/root 7831 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/neutron.py -rw-r--r-- root/root 3748 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/noop.py -rw-r--r-- root/root 2308 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/noop.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/__init__.py -rw-r--r-- root/root 10263 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/common.py -rw-r--r-- root/root 12537 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/deploy.py -rw-r--r-- root/root 14841 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/deploy_utils.py -rw-r--r-- root/root 4309 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/inspect.py -rw-r--r-- root/root 9784 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/management.py -rw-r--r-- root/root 6780 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/power.py -rw-r--r-- root/root 26174 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe.py -rw-r--r-- root/root 736 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe_config.template -rw-r--r-- root/root 697 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe_grub_config.template drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/__init__.py -rw-r--r-- root/root 6782 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/management.py -rw-r--r-- root/root 6498 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/power.py -rw-r--r-- root/root 9133 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/utils.py -rw-r--r-- root/root 26243 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/snmp.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/__init__.py -rw-r--r-- root/root 20168 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/cinder.py -rw-r--r-- root/root 938 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/noop.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/__init__.py -rw-r--r-- root/root 4381 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/helper.py -rw-r--r-- root/root 5632 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/management.py -rw-r--r-- root/root 8253 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/power.py -rw-r--r-- root/root 4292 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/oneview.py -rw-r--r-- root/root 6860 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/pxe.py -rw-r--r-- root/root 4128 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/raid_config_schema.json -rw-r--r-- root/root 1199 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/redfish.py -rw-r--r-- root/root 1121 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/snmp.py -rw-r--r-- root/root 12597 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES/ -rw-r--r-- root/root 738 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES/ironic-log-critical.po -rw-r--r-- root/root 17284 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES/ironic-log-info.po drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ -rw-r--r-- root/root 789 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ironic-log-critical.po -rw-r--r-- root/root 79900 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ironic.po drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES/ -rw-r--r-- root/root 670 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES/ironic-log-critical.po drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES/ -rw-r--r-- root/root 658 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES/ironic-log-critical.po drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/objects/ -rw-r--r-- root/root 1477 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/__init__.py -rw-r--r-- root/root 18662 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/base.py -rw-r--r-- root/root 10359 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/chassis.py -rw-r--r-- root/root 6820 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/conductor.py -rw-r--r-- root/root 4120 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/fields.py -rw-r--r-- root/root 2078 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/indirection.py -rw-r--r-- root/root 29894 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/node.py -rw-r--r-- root/root 7703 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/notification.py -rw-r--r-- root/root 17362 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/port.py -rw-r--r-- root/root 14982 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/portgroup.py -rw-r--r-- root/root 13116 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/volume_connector.py -rw-r--r-- root/root 14316 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/volume_target.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/__init__.py -rw-r--r-- root/root 9038 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/base.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/functional/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/functional/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/ -rw-r--r-- root/root 1573 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/__init__.py -rw-r--r-- root/root 10456 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/base.py -rw-r--r-- root/root 4195 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_acl.py -rw-r--r-- root/root 1985 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_audit.py -rw-r--r-- root/root 5290 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_base.py -rw-r--r-- root/root 11219 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_hooks.py -rw-r--r-- root/root 4418 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_middleware.py -rw-r--r-- root/root 1464 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_ospmiddleware.py -rw-r--r-- root/root 3515 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_root.py -rw-r--r-- root/root 6430 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/__init__.py -rw-r--r-- root/root 27294 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_chassis.py -rw-r--r-- root/root 23848 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_drivers.py -rw-r--r-- root/root 2863 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_expose.py -rw-r--r-- root/root 193806 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_nodes.py -rw-r--r-- root/root 10401 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_notification_utils.py -rw-r--r-- root/root 64105 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_portgroups.py -rw-r--r-- root/root 99129 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_ports.py -rw-r--r-- root/root 8162 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_ramdisk.py -rw-r--r-- root/root 2440 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_root.py -rw-r--r-- root/root 13835 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_types.py -rw-r--r-- root/root 28744 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_utils.py -rw-r--r-- root/root 2502 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_versions.py -rw-r--r-- root/root 2184 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_volume.py -rw-r--r-- root/root 46793 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_volume_connectors.py -rw-r--r-- root/root 44835 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_volume_targets.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/__init__.py -rw-r--r-- root/root 2687 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/test_conductor.py -rw-r--r-- root/root 9066 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/test_dbsync.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/__init__.py -rw-r--r-- root/root 36754 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_cinder.py -rw-r--r-- root/root 3060 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_context.py -rw-r--r-- root/root 36176 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_driver_factory.py -rw-r--r-- root/root 2913 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_exception.py -rw-r--r-- root/root 3719 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_fsm.py -rw-r--r-- root/root 37409 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_glance_service.py -rw-r--r-- root/root 3255 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_hash_ring.py -rw-r--r-- root/root 18000 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_image_service.py -rw-r--r-- root/root 42073 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_images.py -rw-r--r-- root/root 4001 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_keystone.py -rw-r--r-- root/root 14895 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_network.py -rw-r--r-- root/root 37945 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_neutron.py -rw-r--r-- root/root 6655 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_policy.py -rw-r--r-- root/root 38709 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_pxe_utils.py -rw-r--r-- root/root 11359 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_raid.py -rw-r--r-- root/root 7824 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_release_mappings.py -rw-r--r-- root/root 8223 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_rpc.py -rw-r--r-- root/root 2255 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_rpc_service.py -rw-r--r-- root/root 1461 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_states.py -rw-r--r-- root/root 8670 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_swift.py -rw-r--r-- root/root 26342 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_utils.py -rw-r--r-- root/root 2927 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_wsgi_service.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/__init__.py -rw-r--r-- root/root 8111 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/mgr_utils.py -rw-r--r-- root/root 2098 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test__mgr_utils.py -rw-r--r-- root/root 24142 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_base_manager.py -rw-r--r-- root/root 316606 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_manager.py -rw-r--r-- root/root 9639 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_notification_utils.py -rw-r--r-- root/root 20153 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_rpcapi.py -rw-r--r-- root/root 49551 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_task_manager.py -rw-r--r-- root/root 74243 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/__init__.py -rw-r--r-- root/root 2394 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/test_auth.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/__init__.py -rw-r--r-- root/root 2239 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/base.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/__init__.py -rw-r--r-- root/root 1448 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_api.py -rw-r--r-- root/root 30775 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py -rw-r--r-- root/root 3385 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_types.py -rw-r--r-- root/root 5667 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_api.py -rw-r--r-- root/root 3335 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_chassis.py -rw-r--r-- root/root 18882 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_conductor.py -rw-r--r-- root/root 4539 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_node_tags.py -rw-r--r-- root/root 26979 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_nodes.py -rw-r--r-- root/root 9199 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_portgroups.py -rw-r--r-- root/root 5442 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_ports.py -rw-r--r-- root/root 6721 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_volume_connectors.py -rw-r--r-- root/root 7546 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_volume_targets.py -rw-r--r-- root/root 15369 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/__init__.py -rw-r--r-- root/root 4085 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/test_factory.py -rw-r--r-- root/root 18642 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/test_neutron.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ -rw-r--r-- root/root 1001 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/__init__.py -rw-r--r-- root/root 759 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/boot.ipxe -rw-r--r-- root/root 643 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/elilo_efi_pxe_config.template -rw-r--r-- root/root 575 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config.template -rw-r--r-- root/root 988 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -rw-r--r-- root/root 909 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_volumes.template -rw-r--r-- root/root 631 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_timeout.template drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/__init__.py -rw-r--r-- root/root 5130 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_common.py -rw-r--r-- root/root 5675 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_management.py -rw-r--r-- root/root 13746 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_power.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/__init__.py -rw-r--r-- root/root 6845 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py -rw-r--r-- root/root 6704 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_common.py -rw-r--r-- root/root 11638 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py -rw-r--r-- root/root 6492 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_job.py -rw-r--r-- root/root 12362 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_management.py -rw-r--r-- root/root 14860 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -rw-r--r-- root/root 5109 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_power.py -rw-r--r-- root/root 59077 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py -rw-r--r-- root/root 822 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py -rw-r--r-- root/root 52035 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py -rw-r--r-- root/root 52062 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py -rw-r--r-- root/root 2923 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py -rw-r--r-- root/root 26714 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -rw-r--r-- root/root 22968 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -rw-r--r-- root/root 28070 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py -rw-r--r-- root/root 10684 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py -rw-r--r-- root/root 5017 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py -rw-r--r-- root/root 4271 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -rw-r--r-- root/root 4241 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -rw-r--r-- root/root 76588 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py -rw-r--r-- root/root 10969 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py -rw-r--r-- root/root 11495 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -rw-r--r-- root/root 22864 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py -rw-r--r-- root/root 20008 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/__init__.py -rw-r--r-- root/root 71193 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_common.py -rw-r--r-- root/root 8872 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_flat.py -rw-r--r-- root/root 20236 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py -rw-r--r-- root/root 3793 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_noop.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/__init__.py -rw-r--r-- root/root 10872 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_common.py -rw-r--r-- root/root 23866 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy.py -rw-r--r-- root/root 18349 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -rw-r--r-- root/root 4768 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_inspect.py -rw-r--r-- root/root 16274 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_management.py -rw-r--r-- root/root 15681 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_power.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py -rw-r--r-- root/root 8645 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py -rw-r--r-- root/root 10741 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py -rw-r--r-- root/root 8421 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/__init__.py -rw-r--r-- root/root 31687 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py -rw-r--r-- root/root 59054 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent.py -rw-r--r-- root/root 61131 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -rw-r--r-- root/root 10212 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent_client.py -rw-r--r-- root/root 26542 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_console_utils.py -rw-r--r-- root/root 108163 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py -rw-r--r-- root/root 33377 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_image_cache.py -rw-r--r-- root/root 9167 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_inspector.py -rw-r--r-- root/root 122471 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py -rw-r--r-- root/root 50994 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -rw-r--r-- root/root 2666 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_noop.py -rw-r--r-- root/root 59467 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_pxe.py -rw-r--r-- root/root 66318 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_snmp.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/__init__.py -rw-r--r-- root/root 7283 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_helper.py -rw-r--r-- root/root 6124 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_management.py -rw-r--r-- root/root 15211 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_power.py -rw-r--r-- root/root 763 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/pxe_config.template -rw-r--r-- root/root 673 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/pxe_grub_config.template -rw-r--r-- root/root 18619 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_base.py -rw-r--r-- root/root 6591 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_cisco.py -rw-r--r-- root/root 6293 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_drac.py -rw-r--r-- root/root 5086 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_fake.py -rw-r--r-- root/root 4063 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_generic.py -rw-r--r-- root/root 7620 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_ilo.py -rw-r--r-- root/root 6400 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_ipmi.py -rw-r--r-- root/root 7636 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_irmc.py -rw-r--r-- root/root 7886 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_oneview.py -rw-r--r-- root/root 6461 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_pxe.py -rw-r--r-- root/root 2045 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_redfish.py -rw-r--r-- root/root 1914 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_snmp.py -rw-r--r-- root/root 16880 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_utils.py -rw-r--r-- root/root 3360 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -rw-r--r-- root/root 10925 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/__init__.py -rw-r--r-- root/root 6011 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_chassis.py -rw-r--r-- root/root 7074 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_conductor.py -rw-r--r-- root/root 5020 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_fields.py -rw-r--r-- root/root 12002 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_node.py -rw-r--r-- root/root 11955 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_notification.py -rw-r--r-- root/root 40621 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_objects.py -rw-r--r-- root/root 9282 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_port.py -rw-r--r-- root/root 7658 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_portgroup.py -rw-r--r-- root/root 9581 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_volume_connector.py -rw-r--r-- root/root 9931 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_volume_target.py -rw-r--r-- root/root 8869 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/utils.py -rw-r--r-- root/root 1666 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/policy_fixture.py -rw-r--r-- root/root 5877 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/raid_constants.py -rw-r--r-- root/root 2193 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/stubs.py -rw-r--r-- root/root 705 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/version.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/ -rw-r--r-- root/root 607 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/README.rst -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/__init__.py -rw-r--r-- root/root 1909 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/clients.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/__init__.py -rw-r--r-- root/root 1421 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/utils.py -rw-r--r-- root/root 4739 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/waiters.py -rw-r--r-- root/root 5315 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/config.py -rw-r--r-- root/root 24349 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/manager.py -rw-r--r-- root/root 1599 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/plugin.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/__init__.py -rw-r--r-- root/root 9344 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/base.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json/__init__.py -rw-r--r-- root/root 23377 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/__init__.py -rw-r--r-- root/root 993 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/api_microversion_fixture.py -rw-r--r-- root/root 13094 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/base.py -rw-r--r-- root/root 1731 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py -rw-r--r-- root/root 3431 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_chassis.py -rw-r--r-- root/root 2123 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_drivers.py -rw-r--r-- root/root 17215 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_nodes.py -rw-r--r-- root/root 8863 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_nodestates.py -rw-r--r-- root/root 3278 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_portgroups.py -rw-r--r-- root/root 14778 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_ports.py -rw-r--r-- root/root 18808 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py -rw-r--r-- root/root 9593 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_volume_connector.py -rw-r--r-- root/root 9093 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_volume_target.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/__init__.py -rw-r--r-- root/root 8134 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/baremetal_manager.py -rw-r--r-- root/root 13089 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone/__init__.py -rw-r--r-- root/root 4732 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py -rw-r--r-- root/root 6027 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py -rw-r--r-- root/root 6125 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py -rw-r--r-- root/root 5786 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:13 ./usr/share/doc/python-ironic/ -rw-r--r-- root/root 1353 2017-10-31 14:00 ./usr/share/doc/python-ironic/README.rst -rw-r--r-- root/root 3317 2017-10-31 14:02 ./usr/share/doc/python-ironic/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/python-ironic/copyright -rw-r--r-- root/root 1745 2017-10-31 14:00 ./usr/share/doc/python-ironic/requirements.txt -rw-r--r-- root/root 988 2017-10-31 14:00 ./usr/share/doc/python-ironic/test-requirements.txt +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build-Space: 42796 Build-Time: 136 Distribution: xenial Host Architecture: amd64 Install-Time: 89 Job: ironic_9.1.2.dev19.201710311400.xenial-0ubuntu1.dsc Machine Architecture: amd64 Package: ironic Package-Time: 227 Source-Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 Space: 42796 Status: successful Version: 1:9.1.2.dev19.201710311400.xenial-0ubuntu1 -------------------------------------------------------------------------------- Finished at 20171031-1413 Build needed 00:03:47, 42796k disc space RUN: /usr/share/launchpad-buildd/slavebin/in-target scan-for-processes --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 Scanning for processes to kill in build PACKAGEBUILD-13649185 RUN: /usr/share/launchpad-buildd/slavebin/in-target umount-chroot --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 Stopping target for build PACKAGEBUILD-13649185 RUN: /usr/share/launchpad-buildd/slavebin/in-target remove-build --backend=chroot --series=xenial --arch=amd64 PACKAGEBUILD-13649185 Removing build PACKAGEBUILD-13649185