RUN: /usr/share/launchpad-buildd/slavebin/slave-prep Forking launchpad-buildd slave process... Kernel version: Linux lgw01-amd64-052 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:59 UTC 2017 x86_64 Buildd toolchain package versions: launchpad-buildd_157 python-lpbuildd_157 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.3 python-debian_0.1.27ubuntu2. Syncing the system clock with the buildd NTP service... 12 Mar 20:55:01 ntpdate[1810]: adjust time server 10.211.37.1 offset 0.024227 sec RUN: /usr/share/launchpad-buildd/slavebin/in-target unpack-chroot --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-14447574 /home/buildd/filecache-default/f027e517e95d0e91684230ee23be60d709f816c0 Creating target for build PACKAGEBUILD-14447574 RUN: /usr/share/launchpad-buildd/slavebin/in-target mount-chroot --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-14447574 Starting target for build PACKAGEBUILD-14447574 RUN: /usr/share/launchpad-buildd/slavebin/in-target override-sources-list --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-14447574 'deb http://ftpmaster.internal/ubuntu bionic main universe' 'deb http://ftpmaster.internal/ubuntu bionic-security main universe' 'deb http://ftpmaster.internal/ubuntu bionic-updates main universe' 'deb http://ftpmaster.internal/ubuntu bionic-proposed main universe' Overriding sources.list in build-PACKAGEBUILD-14447574 RUN: /usr/share/launchpad-buildd/slavebin/in-target update-debian-chroot --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-14447574 Updating target for build PACKAGEBUILD-14447574 Get:1 http://ftpmaster.internal/ubuntu bionic InRelease [235 kB] Get:2 http://ftpmaster.internal/ubuntu bionic-security InRelease [65.4 kB] Get:3 http://ftpmaster.internal/ubuntu bionic-updates InRelease [65.4 kB] Get:4 http://ftpmaster.internal/ubuntu bionic-proposed InRelease [235 kB] Get:5 http://ftpmaster.internal/ubuntu bionic/main amd64 Packages [1020 kB] Get:6 http://ftpmaster.internal/ubuntu bionic/main Translation-en [516 kB] Get:7 http://ftpmaster.internal/ubuntu bionic/universe amd64 Packages [8532 kB] Get:8 http://ftpmaster.internal/ubuntu bionic/universe Translation-en [4947 kB] Get:9 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 Packages [75.7 kB] Get:10 http://ftpmaster.internal/ubuntu bionic-proposed/main Translation-en [31.1 kB] Get:11 http://ftpmaster.internal/ubuntu bionic-proposed/universe amd64 Packages [146 kB] Get:12 http://ftpmaster.internal/ubuntu bionic-proposed/universe Translation-en [84.9 kB] Fetched 16.0 MB in 4s (3680 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages were automatically installed and are no longer required: gnupg-agent libcryptsetup4 libcurl3-gnutls libgssapi-krb5-2 libisl15 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libnghttp2-14 libpsl5 librtmp1 libssl1.0.0 libunistring0 libustr-1.0-1 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: dirmngr gcc-8-base gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libargon2-0 libcom-err2 libcryptsetup12 libext2fs2 libgdbm-compat4 libgdbm5 libisl19 libjson-c3 libmpfr6 libnghttp2-14 libssl1.1 libunistring2 The following packages will be upgraded: adduser advancecomp apt apt-transport-https base-files base-passwd bash binutils binutils-common binutils-x86-64-linux-gnu bsdutils build-essential coreutils cpp-7 dash debconf debianutils dmsetup dpkg dpkg-dev e2fslibs e2fsprogs fakeroot fdisk findutils g++-7 gcc-7 gcc-7-base gnupg gnupg-agent gpgv hostname init init-system-helpers libapparmor1 libapt-pkg5.0 libasan4 libasn1-8-heimdal libassuan0 libatomic1 libaudit-common libaudit1 libbinutils libblkid1 libc-bin libc-dev-bin libc6 libc6-dev libcap-ng0 libcap2 libcc1-0 libcilkrts5 libcomerr2 libcurl3-gnutls libdevmapper1.02.1 libdpkg-perl libfakeroot libfdisk1 libffi6 libgcc-7-dev libgcc1 libgcrypt20 libgmp10 libgnutls30 libgomp1 libgpg-error0 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libidn11 libidn2-0 libip4tc0 libisl15 libitm1 libk5crypto3 libkeyutils1 libkmod2 libkrb5-26-heimdal libkrb5-3 libkrb5support0 liblockfile-bin liblockfile1 liblsan0 libmount1 libmpc3 libmpx2 libncurses5 libncursesw5 libnettle6 libnpth0 libp11-kit0 libpam-modules libpam-modules-bin libpam-runtime libpam0g libpcre3 libperl5.26 libpng16-16 libprocps6 libpsl5 libquadmath0 libreadline7 libroken18-heimdal libsasl2-2 libsasl2-modules-db libseccomp2 libselinux1 libsemanage-common libsemanage1 libslang2 libsmartcols1 libsqlite3-0 libss2 libssl1.0.0 libstdc++-7-dev libstdc++6 libsystemd0 libtasn1-6 libtinfo5 libtsan0 libubsan0 libudev1 libuuid1 libwind0-heimdal linux-libc-dev login lsb-base mount multiarch-support ncurses-base ncurses-bin openssl optipng passwd patch perl perl-base perl-modules-5.26 pinentry-curses pkgbinarymangler procps readline-common sed sensible-utils systemd systemd-sysv sysvinit-utils tzdata ubuntu-keyring util-linux 154 upgraded, 22 newly installed, 0 to remove and 0 not upgraded. Need to get 72.9 MB of archives. After this operation, 16.1 MB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu bionic/main amd64 perl-modules-5.26 all 5.26.1-5 [2761 kB] Get:2 http://ftpmaster.internal/ubuntu bionic/main amd64 libgdbm5 amd64 1.14.1-4 [26.4 kB] Get:3 http://ftpmaster.internal/ubuntu bionic/main amd64 libgdbm-compat4 amd64 1.14.1-4 [5992 B] Get:4 http://ftpmaster.internal/ubuntu bionic/main amd64 libperl5.26 amd64 5.26.1-5 [3544 kB] Get:5 http://ftpmaster.internal/ubuntu bionic/main amd64 perl amd64 5.26.1-5 [202 kB] Get:6 http://ftpmaster.internal/ubuntu bionic/main amd64 perl-base amd64 5.26.1-5 [1390 kB] Get:7 http://ftpmaster.internal/ubuntu bionic/main amd64 libc6-dev amd64 2.27-0ubuntu2 [2591 kB] Get:8 http://ftpmaster.internal/ubuntu bionic/main amd64 libc-dev-bin amd64 2.27-0ubuntu2 [71.8 kB] Get:9 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 linux-libc-dev amd64 4.15.0-12.13 [981 kB] Get:10 http://ftpmaster.internal/ubuntu bionic/main amd64 libc6 amd64 2.27-0ubuntu2 [2826 kB] Get:11 http://ftpmaster.internal/ubuntu bionic/main amd64 libc-bin amd64 2.27-0ubuntu2 [631 kB] Get:12 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 gcc-8-base amd64 8-20180312-2ubuntu1 [18.0 kB] Get:13 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libgcc1 amd64 1:8-20180312-2ubuntu1 [40.9 kB] Get:14 http://ftpmaster.internal/ubuntu bionic/main amd64 init-system-helpers all 1.51 [37.3 kB] Get:15 http://ftpmaster.internal/ubuntu bionic/main amd64 base-files amd64 10ubuntu1 [55.9 kB] Get:16 http://ftpmaster.internal/ubuntu bionic/main amd64 debianutils amd64 4.8.4 [85.7 kB] Get:17 http://ftpmaster.internal/ubuntu bionic/main amd64 bash amd64 4.4.18-1ubuntu1 [631 kB] Get:18 http://ftpmaster.internal/ubuntu bionic/main amd64 bsdutils amd64 1:2.31.1-0.4ubuntu2 [60.2 kB] Get:19 http://ftpmaster.internal/ubuntu bionic/main amd64 coreutils amd64 8.28-1ubuntu1 [1231 kB] Get:20 http://ftpmaster.internal/ubuntu bionic/main amd64 dpkg amd64 1.19.0.5ubuntu1 [1140 kB] Get:21 http://ftpmaster.internal/ubuntu bionic/main amd64 dash amd64 0.5.8-2.10 [88.5 kB] Get:22 http://ftpmaster.internal/ubuntu bionic/main amd64 libcom-err2 amd64 1.43.9-2 [11.5 kB] Get:23 http://ftpmaster.internal/ubuntu bionic/main amd64 libcomerr2 amd64 1.43.9-2 [2692 B] Get:24 http://ftpmaster.internal/ubuntu bionic/main amd64 libext2fs2 amd64 1.43.9-2 [157 kB] Get:25 http://ftpmaster.internal/ubuntu bionic/main amd64 e2fslibs amd64 1.43.9-2 [2696 B] Get:26 http://ftpmaster.internal/ubuntu bionic/main amd64 e2fsprogs amd64 1.43.9-2 [501 kB] Get:27 http://ftpmaster.internal/ubuntu bionic/main amd64 findutils amd64 4.6.0+git+20170828-2 [291 kB] Get:28 http://ftpmaster.internal/ubuntu bionic/main amd64 hostname amd64 3.20 [11.3 kB] Get:29 http://ftpmaster.internal/ubuntu bionic/main amd64 login amd64 1:4.5-1ubuntu1 [307 kB] Get:30 http://ftpmaster.internal/ubuntu bionic/main amd64 libncurses5 amd64 6.1-1ubuntu1 [95.2 kB] Get:31 http://ftpmaster.internal/ubuntu bionic/main amd64 libtinfo5 amd64 6.1-1ubuntu1 [80.7 kB] Get:32 http://ftpmaster.internal/ubuntu bionic/main amd64 ncurses-bin amd64 6.1-1ubuntu1 [163 kB] Get:33 http://ftpmaster.internal/ubuntu bionic/main amd64 libncursesw5 amd64 6.1-1ubuntu1 [117 kB] Get:34 http://ftpmaster.internal/ubuntu bionic/main amd64 sed amd64 4.4-2 [182 kB] Get:35 http://ftpmaster.internal/ubuntu bionic/main amd64 libuuid1 amd64 2.31.1-0.4ubuntu2 [20.0 kB] Get:36 http://ftpmaster.internal/ubuntu bionic/main amd64 libblkid1 amd64 2.31.1-0.4ubuntu2 [124 kB] Get:37 http://ftpmaster.internal/ubuntu bionic/main amd64 libsmartcols1 amd64 2.31.1-0.4ubuntu2 [83.6 kB] Get:38 http://ftpmaster.internal/ubuntu bionic/main amd64 libfdisk1 amd64 2.31.1-0.4ubuntu2 [164 kB] Get:39 http://ftpmaster.internal/ubuntu bionic/main amd64 libpcre3 amd64 2:8.39-9 [229 kB] Get:40 http://ftpmaster.internal/ubuntu bionic/main amd64 libselinux1 amd64 2.7-2build2 [68.2 kB] Get:41 http://ftpmaster.internal/ubuntu bionic/main amd64 libmount1 amd64 2.31.1-0.4ubuntu2 [136 kB] Get:42 http://ftpmaster.internal/ubuntu bionic/main amd64 fdisk amd64 2.31.1-0.4ubuntu2 [108 kB] Get:43 http://ftpmaster.internal/ubuntu bionic/main amd64 util-linux amd64 2.31.1-0.4ubuntu2 [902 kB] Get:44 http://ftpmaster.internal/ubuntu bionic/main amd64 base-passwd amd64 3.5.44 [47.2 kB] Get:45 http://ftpmaster.internal/ubuntu bionic/main amd64 ncurses-base all 6.1-1ubuntu1 [17.3 kB] Get:46 http://ftpmaster.internal/ubuntu bionic/main amd64 sysvinit-utils amd64 2.88dsf-59.10ubuntu1 [18.6 kB] Get:47 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libstdc++6 amd64 8-20180312-2ubuntu1 [399 kB] Get:48 http://ftpmaster.internal/ubuntu bionic/main amd64 libudev1 amd64 237-3ubuntu4 [53.8 kB] Get:49 http://ftpmaster.internal/ubuntu bionic/main amd64 libapt-pkg5.0 amd64 1.6~beta1 [799 kB] Get:50 http://ftpmaster.internal/ubuntu bionic/main amd64 libaudit-common all 1:2.8.2-1ubuntu1 [4132 B] Get:51 http://ftpmaster.internal/ubuntu bionic/main amd64 libcap-ng0 amd64 0.7.7-3.1 [11.1 kB] Get:52 http://ftpmaster.internal/ubuntu bionic/main amd64 libaudit1 amd64 1:2.8.2-1ubuntu1 [38.9 kB] Get:53 http://ftpmaster.internal/ubuntu bionic/main amd64 debconf all 1.5.66 [124 kB] Get:54 http://ftpmaster.internal/ubuntu bionic/main amd64 libpam0g amd64 1.1.8-3.2ubuntu4 [53.8 kB] Get:55 http://ftpmaster.internal/ubuntu bionic/main amd64 libsemanage-common all 2.7-2build2 [6904 B] Get:56 http://ftpmaster.internal/ubuntu bionic/main amd64 libsemanage1 amd64 2.7-2build2 [84.6 kB] Get:57 http://ftpmaster.internal/ubuntu bionic/main amd64 libpam-modules-bin amd64 1.1.8-3.2ubuntu4 [36.7 kB] Get:58 http://ftpmaster.internal/ubuntu bionic/main amd64 libpam-modules amd64 1.1.8-3.2ubuntu4 [242 kB] Get:59 http://ftpmaster.internal/ubuntu bionic/main amd64 passwd amd64 1:4.5-1ubuntu1 [816 kB] Get:60 http://ftpmaster.internal/ubuntu bionic/main amd64 adduser all 3.116ubuntu1 [163 kB] Get:61 http://ftpmaster.internal/ubuntu bionic/main amd64 libgpg-error0 amd64 1.27-6 [38.0 kB] Get:62 http://ftpmaster.internal/ubuntu bionic/main amd64 libgcrypt20 amd64 1.8.1-4ubuntu1 [418 kB] Get:63 http://ftpmaster.internal/ubuntu bionic/main amd64 gpgv amd64 2.2.4-1ubuntu1 [196 kB] Get:64 http://ftpmaster.internal/ubuntu bionic/main amd64 ubuntu-keyring all 2018.02.28 [20.7 kB] Get:65 http://ftpmaster.internal/ubuntu bionic/main amd64 libunistring2 amd64 0.9.9-0ubuntu1 [369 kB] Get:66 http://ftpmaster.internal/ubuntu bionic/main amd64 libgmp10 amd64 2:6.1.2+dfsg-2 [240 kB] Get:67 http://ftpmaster.internal/ubuntu bionic/main amd64 libnettle6 amd64 3.4-1 [109 kB] Get:68 http://ftpmaster.internal/ubuntu bionic/main amd64 libhogweed4 amd64 3.4-1 [137 kB] Get:69 http://ftpmaster.internal/ubuntu bionic/main amd64 libidn2-0 amd64 2.0.4-1.1build2 [48.2 kB] Get:70 http://ftpmaster.internal/ubuntu bionic/main amd64 libffi6 amd64 3.2.1-8 [17.9 kB] Get:71 http://ftpmaster.internal/ubuntu bionic/main amd64 libp11-kit0 amd64 0.23.9-2 [187 kB] Get:72 http://ftpmaster.internal/ubuntu bionic/main amd64 libtasn1-6 amd64 4.13-2 [36.2 kB] Get:73 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libgnutls30 amd64 3.5.18-1ubuntu1 [644 kB] Get:74 http://ftpmaster.internal/ubuntu bionic/main amd64 libseccomp2 amd64 2.3.1-2.1ubuntu4 [37.6 kB] Get:75 http://ftpmaster.internal/ubuntu bionic/main amd64 apt amd64 1.6~beta1 [1153 kB] Get:76 http://ftpmaster.internal/ubuntu bionic/main amd64 libargon2-0 amd64 0~20161029-1.1 [19.9 kB] Get:77 http://ftpmaster.internal/ubuntu bionic/main amd64 libjson-c3 amd64 0.12.1-1.3 [21.4 kB] Get:78 http://ftpmaster.internal/ubuntu bionic/main amd64 libdevmapper1.02.1 amd64 2:1.02.145-4.1ubuntu2 [127 kB] Get:79 http://ftpmaster.internal/ubuntu bionic/main amd64 libcryptsetup12 amd64 2:2.0.1-0ubuntu2 [134 kB] Get:80 http://ftpmaster.internal/ubuntu bionic/main amd64 libapparmor1 amd64 2.11.0-2ubuntu19 [28.8 kB] Get:81 http://ftpmaster.internal/ubuntu bionic/main amd64 libcap2 amd64 1:2.25-1.2 [13.0 kB] Get:82 http://ftpmaster.internal/ubuntu bionic/main amd64 libidn11 amd64 1.33-2.1 [46.0 kB] Get:83 http://ftpmaster.internal/ubuntu bionic/main amd64 libip4tc0 amd64 1.6.1-2ubuntu2 [19.6 kB] Get:84 http://ftpmaster.internal/ubuntu bionic/main amd64 libkmod2 amd64 24-1ubuntu3 [40.1 kB] Get:85 http://ftpmaster.internal/ubuntu bionic/main amd64 mount amd64 2.31.1-0.4ubuntu2 [106 kB] Get:86 http://ftpmaster.internal/ubuntu bionic/main amd64 libprocps6 amd64 2:3.3.12-3ubuntu1 [31.4 kB] Get:87 http://ftpmaster.internal/ubuntu bionic/main amd64 lsb-base all 9.20170808ubuntu1 [12.5 kB] Get:88 http://ftpmaster.internal/ubuntu bionic/main amd64 procps amd64 2:3.3.12-3ubuntu1 [225 kB] Get:89 http://ftpmaster.internal/ubuntu bionic/main amd64 systemd amd64 237-3ubuntu4 [2868 kB] Get:90 http://ftpmaster.internal/ubuntu bionic/main amd64 libsystemd0 amd64 237-3ubuntu4 [205 kB] Get:91 http://ftpmaster.internal/ubuntu bionic/main amd64 init amd64 1.51 [5864 B] Get:92 http://ftpmaster.internal/ubuntu bionic/main amd64 systemd-sysv amd64 237-3ubuntu4 [11.8 kB] Get:93 http://ftpmaster.internal/ubuntu bionic/main amd64 libpam-runtime all 1.1.8-3.2ubuntu4 [36.3 kB] Get:94 http://ftpmaster.internal/ubuntu bionic/main amd64 libss2 amd64 1.43.9-2 [11.1 kB] Get:95 http://ftpmaster.internal/ubuntu bionic/main amd64 sensible-utils all 0.0.11 [14.8 kB] Get:96 http://ftpmaster.internal/ubuntu bionic/main amd64 dmsetup amd64 2:1.02.145-4.1ubuntu2 [74.3 kB] Get:97 http://ftpmaster.internal/ubuntu bionic/main amd64 libpng16-16 amd64 1.6.34-1 [176 kB] Get:98 http://ftpmaster.internal/ubuntu bionic/main amd64 readline-common all 7.0-3 [52.9 kB] Get:99 http://ftpmaster.internal/ubuntu bionic/main amd64 libreadline7 amd64 7.0-3 [124 kB] Get:100 http://ftpmaster.internal/ubuntu bionic/main amd64 libslang2 amd64 2.3.1a-3ubuntu1 [424 kB] Get:101 http://ftpmaster.internal/ubuntu bionic/main amd64 libsqlite3-0 amd64 3.22.0-1 [496 kB] Get:102 http://ftpmaster.internal/ubuntu bionic/main amd64 libssl1.1 amd64 1.1.0g-2ubuntu2 [1128 kB] Get:103 http://ftpmaster.internal/ubuntu bionic/main amd64 multiarch-support amd64 2.27-0ubuntu2 [6916 B] Get:104 http://ftpmaster.internal/ubuntu bionic/main amd64 openssl amd64 1.1.0g-2ubuntu2 [531 kB] Get:105 http://ftpmaster.internal/ubuntu bionic/main amd64 tzdata all 2018c-1 [188 kB] Get:106 http://ftpmaster.internal/ubuntu bionic/main amd64 libgssapi-krb5-2 amd64 1.16-2build1 [122 kB] Get:107 http://ftpmaster.internal/ubuntu bionic/main amd64 libkrb5-3 amd64 1.16-2build1 [279 kB] Get:108 http://ftpmaster.internal/ubuntu bionic/main amd64 libk5crypto3 amd64 1.16-2build1 [85.6 kB] Get:109 http://ftpmaster.internal/ubuntu bionic/main amd64 libkrb5support0 amd64 1.16-2build1 [31.1 kB] Get:110 http://ftpmaster.internal/ubuntu bionic/main amd64 libkeyutils1 amd64 1.5.9-9.2ubuntu1 [9308 B] Get:111 http://ftpmaster.internal/ubuntu bionic/main amd64 libssl1.0.0 amd64 1.0.2n-1ubuntu4 [1086 kB] Get:112 http://ftpmaster.internal/ubuntu bionic/main amd64 advancecomp amd64 2.1-1 [200 kB] Get:113 http://ftpmaster.internal/ubuntu bionic/universe amd64 apt-transport-https all 1.6~beta1 [1692 B] Get:114 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libbinutils amd64 2.30-7ubuntu1 [503 kB] Get:115 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 binutils amd64 2.30-7ubuntu1 [3392 B] Get:116 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 binutils-common amd64 2.30-7ubuntu1 [193 kB] Get:117 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 binutils-x86-64-linux-gnu amd64 2.30-7ubuntu1 [1833 kB] Get:118 http://ftpmaster.internal/ubuntu bionic/main amd64 dpkg-dev all 1.19.0.5ubuntu1 [607 kB] Get:119 http://ftpmaster.internal/ubuntu bionic/main amd64 libdpkg-perl all 1.19.0.5ubuntu1 [211 kB] Get:120 http://ftpmaster.internal/ubuntu bionic/main amd64 patch amd64 2.7.6-1 [101 kB] Get:121 http://ftpmaster.internal/ubuntu bionic/main amd64 build-essential amd64 12.4ubuntu1 [4758 B] Get:122 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libquadmath0 amd64 8-20180312-2ubuntu1 [134 kB] Get:123 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libitm1 amd64 8-20180312-2ubuntu1 [28.1 kB] Get:124 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libmpx2 amd64 8-20180312-2ubuntu1 [11.7 kB] Get:125 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libgomp1 amd64 8-20180312-2ubuntu1 [76.9 kB] Get:126 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libatomic1 amd64 8-20180312-2ubuntu1 [9084 B] Get:127 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libasan4 amd64 7.3.0-11ubuntu1 [358 kB] Get:128 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 liblsan0 amd64 8-20180312-2ubuntu1 [133 kB] Get:129 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libtsan0 amd64 8-20180312-2ubuntu1 [288 kB] Get:130 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libubsan0 amd64 7.3.0-11ubuntu1 [126 kB] Get:131 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libcilkrts5 amd64 7.3.0-11ubuntu1 [42.4 kB] Get:132 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 g++-7 amd64 7.3.0-11ubuntu1 [7561 kB] Get:133 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 gcc-7 amd64 7.3.0-11ubuntu1 [7439 kB] Get:134 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libstdc++-7-dev amd64 7.3.0-11ubuntu1 [1440 kB] Get:135 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libgcc-7-dev amd64 7.3.0-11ubuntu1 [2378 kB] Get:136 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libcc1-0 amd64 8-20180312-2ubuntu1 [39.5 kB] Get:137 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 cpp-7 amd64 7.3.0-11ubuntu1 [6734 kB] Get:138 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 gcc-7-base amd64 7.3.0-11ubuntu1 [19.0 kB] Get:139 http://ftpmaster.internal/ubuntu bionic/main amd64 libisl19 amd64 0.19-0ubuntu1 [551 kB] Get:140 http://ftpmaster.internal/ubuntu bionic/main amd64 libmpc3 amd64 1.1.0-1 [40.8 kB] Get:141 http://ftpmaster.internal/ubuntu bionic/main amd64 libmpfr6 amd64 4.0.1-1 [243 kB] Get:142 http://ftpmaster.internal/ubuntu bionic/main amd64 gnupg-l10n all 2.2.4-1ubuntu1 [48.6 kB] Get:143 http://ftpmaster.internal/ubuntu bionic/main amd64 libassuan0 amd64 2.5.1-2 [35.0 kB] Get:144 http://ftpmaster.internal/ubuntu bionic/main amd64 gnupg amd64 2.2.4-1ubuntu1 [249 kB] Get:145 http://ftpmaster.internal/ubuntu bionic/main amd64 gnupg-agent all 2.2.4-1ubuntu1 [4544 B] Get:146 http://ftpmaster.internal/ubuntu bionic/main amd64 gpgconf amd64 2.2.4-1ubuntu1 [122 kB] Get:147 http://ftpmaster.internal/ubuntu bionic/main amd64 pinentry-curses amd64 1.1.0-1 [35.8 kB] Get:148 http://ftpmaster.internal/ubuntu bionic/main amd64 libnpth0 amd64 1.5-3 [7668 B] Get:149 http://ftpmaster.internal/ubuntu bionic/main amd64 gpg-agent amd64 2.2.4-1ubuntu1 [227 kB] Get:150 http://ftpmaster.internal/ubuntu bionic/main amd64 gnupg-utils amd64 2.2.4-1ubuntu1 [126 kB] Get:151 http://ftpmaster.internal/ubuntu bionic/main amd64 gpg amd64 2.2.4-1ubuntu1 [467 kB] Get:152 http://ftpmaster.internal/ubuntu bionic/main amd64 gpg-wks-client amd64 2.2.4-1ubuntu1 [91.7 kB] Get:153 http://ftpmaster.internal/ubuntu bionic/main amd64 gpg-wks-server amd64 2.2.4-1ubuntu1 [84.9 kB] Get:154 http://ftpmaster.internal/ubuntu bionic/main amd64 gpgsm amd64 2.2.4-1ubuntu1 [215 kB] Get:155 http://ftpmaster.internal/ubuntu bionic/main amd64 dirmngr amd64 2.2.4-1ubuntu1 [316 kB] Get:156 http://ftpmaster.internal/ubuntu bionic/main amd64 libfakeroot amd64 1.22-2ubuntu1 [25.9 kB] Get:157 http://ftpmaster.internal/ubuntu bionic/main amd64 fakeroot amd64 1.22-2ubuntu1 [62.3 kB] Get:158 http://ftpmaster.internal/ubuntu bionic/main amd64 libroken18-heimdal amd64 7.5.0+dfsg-1 [41.3 kB] Get:159 http://ftpmaster.internal/ubuntu bionic/main amd64 libasn1-8-heimdal amd64 7.5.0+dfsg-1 [175 kB] Get:160 http://ftpmaster.internal/ubuntu bionic/main amd64 libnghttp2-14 amd64 1.30.0-1 [77.7 kB] Get:161 http://ftpmaster.internal/ubuntu bionic/main amd64 libpsl5 amd64 0.19.1-5build1 [41.8 kB] Get:162 http://ftpmaster.internal/ubuntu bionic/main amd64 libcurl3-gnutls amd64 7.58.0-2ubuntu2 [212 kB] Get:163 http://ftpmaster.internal/ubuntu bionic/main amd64 libheimbase1-heimdal amd64 7.5.0+dfsg-1 [29.3 kB] Get:164 http://ftpmaster.internal/ubuntu bionic/main amd64 libhcrypto4-heimdal amd64 7.5.0+dfsg-1 [85.9 kB] Get:165 http://ftpmaster.internal/ubuntu bionic/main amd64 libwind0-heimdal amd64 7.5.0+dfsg-1 [47.8 kB] Get:166 http://ftpmaster.internal/ubuntu bionic/main amd64 libhx509-5-heimdal amd64 7.5.0+dfsg-1 [107 kB] Get:167 http://ftpmaster.internal/ubuntu bionic/main amd64 libkrb5-26-heimdal amd64 7.5.0+dfsg-1 [206 kB] Get:168 http://ftpmaster.internal/ubuntu bionic/main amd64 libheimntlm0-heimdal amd64 7.5.0+dfsg-1 [14.8 kB] Get:169 http://ftpmaster.internal/ubuntu bionic/main amd64 libgssapi3-heimdal amd64 7.5.0+dfsg-1 [96.5 kB] Get:170 http://ftpmaster.internal/ubuntu bionic/main amd64 libisl15 amd64 0.18-1ubuntu1 [546 kB] Get:171 http://ftpmaster.internal/ubuntu bionic/main amd64 liblockfile-bin amd64 1.14-1.1 [11.9 kB] Get:172 http://ftpmaster.internal/ubuntu bionic/main amd64 liblockfile1 amd64 1.14-1.1 [6804 B] Get:173 http://ftpmaster.internal/ubuntu bionic/main amd64 libsasl2-modules-db amd64 2.1.27~101-g0780600+dfsg-3ubuntu2 [14.8 kB] Get:174 http://ftpmaster.internal/ubuntu bionic/main amd64 libsasl2-2 amd64 2.1.27~101-g0780600+dfsg-3ubuntu2 [49.2 kB] Get:175 http://ftpmaster.internal/ubuntu bionic/main amd64 optipng amd64 0.7.6-1.1 [83.4 kB] Get:176 http://ftpmaster.internal/ubuntu bionic/main amd64 pkgbinarymangler all 135 [51.3 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 72.9 MB in 2s (36.2 MB/s) (Reading database ... 12676 files and directories currently installed.) Preparing to unpack .../0-perl_5.26.1-5_amd64.deb ... Unpacking perl (5.26.1-5) over (5.26.0-8ubuntu1) ... Preparing to unpack .../1-perl-modules-5.26_5.26.1-5_all.deb ... Unpacking perl-modules-5.26 (5.26.1-5) over (5.26.0-8ubuntu1) ... Selecting previously unselected package libgdbm5:amd64. Preparing to unpack .../2-libgdbm5_1.14.1-4_amd64.deb ... Unpacking libgdbm5:amd64 (1.14.1-4) ... Selecting previously unselected package libgdbm-compat4:amd64. Preparing to unpack .../3-libgdbm-compat4_1.14.1-4_amd64.deb ... Unpacking libgdbm-compat4:amd64 (1.14.1-4) ... Preparing to unpack .../4-libperl5.26_5.26.1-5_amd64.deb ... Unpacking libperl5.26:amd64 (5.26.1-5) over (5.26.0-8ubuntu1) ... Preparing to unpack .../5-perl-base_5.26.1-5_amd64.deb ... Unpacking perl-base (5.26.1-5) over (5.26.0-8ubuntu1) ... Setting up perl-base (5.26.1-5) ... (Reading database ... 12687 files and directories currently installed.) Preparing to unpack .../libc6-dev_2.27-0ubuntu2_amd64.deb ... Unpacking libc6-dev:amd64 (2.27-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../libc-dev-bin_2.27-0ubuntu2_amd64.deb ... Unpacking libc-dev-bin (2.27-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../linux-libc-dev_4.15.0-12.13_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.15.0-12.13) over (4.13.0-11.12) ... Preparing to unpack .../libc6_2.27-0ubuntu2_amd64.deb ... Unpacking libc6:amd64 (2.27-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc6:amd64 (2.27-0ubuntu2) ... Installing new version of config file /etc/ld.so.conf.d/x86_64-linux-gnu.conf ... (Reading database ... 12695 files and directories currently installed.) Preparing to unpack .../libc-bin_2.27-0ubuntu2_amd64.deb ... Unpacking libc-bin (2.27-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc-bin (2.27-0ubuntu2) ... Selecting previously unselected package gcc-8-base:amd64. (Reading database ... 12695 files and directories currently installed.) Preparing to unpack .../gcc-8-base_8-20180312-2ubuntu1_amd64.deb ... Unpacking gcc-8-base:amd64 (8-20180312-2ubuntu1) ... Setting up gcc-8-base:amd64 (8-20180312-2ubuntu1) ... (Reading database ... 12702 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a8-20180312-2ubuntu1_amd64.deb ... Unpacking libgcc1:amd64 (1:8-20180312-2ubuntu1) over (1:7.2.0-6ubuntu1) ... Setting up libgcc1:amd64 (1:8-20180312-2ubuntu1) ... (Reading database ... 12702 files and directories currently installed.) Preparing to unpack .../init-system-helpers_1.51_all.deb ... Unpacking init-system-helpers (1.51) over (1.49ubuntu1) ... Setting up init-system-helpers (1.51) ... (Reading database ... 12702 files and directories currently installed.) Preparing to unpack .../base-files_10ubuntu1_amd64.deb ... Unpacking base-files (10ubuntu1) over (9.6ubuntu101) ... Setting up base-files (10ubuntu1) ... Installing new version of config file /etc/debian_version ... 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 ... (Reading database ... 12702 files and directories currently installed.) Preparing to unpack .../debianutils_4.8.4_amd64.deb ... Unpacking debianutils (4.8.4) over (4.8.2) ... Setting up debianutils (4.8.4) ... (Reading database ... 12702 files and directories currently installed.) Preparing to unpack .../bash_4.4.18-1ubuntu1_amd64.deb ... Unpacking bash (4.4.18-1ubuntu1) over (4.4-5ubuntu1) ... Setting up bash (4.4.18-1ubuntu1) ... Installing new version of config file /etc/bash.bashrc ... 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 ... 12702 files and directories currently installed.) Preparing to unpack .../bsdutils_1%3a2.31.1-0.4ubuntu2_amd64.deb ... Unpacking bsdutils (1:2.31.1-0.4ubuntu2) over (1:2.30.1-0ubuntu4) ... Setting up bsdutils (1:2.31.1-0.4ubuntu2) ... (Reading database ... 12702 files and directories currently installed.) Preparing to unpack .../coreutils_8.28-1ubuntu1_amd64.deb ... Unpacking coreutils (8.28-1ubuntu1) over (8.26-3ubuntu3) ... Setting up coreutils (8.28-1ubuntu1) ... (Reading database ... 12702 files and directories currently installed.) Preparing to unpack .../dpkg_1.19.0.5ubuntu1_amd64.deb ... Unpacking dpkg (1.19.0.5ubuntu1) over (1.18.24ubuntu1) ... Setting up dpkg (1.19.0.5ubuntu1) ... Installing new version of config file /etc/alternatives/README ... Installing new version of config file /etc/cron.daily/dpkg ... Installing new version of config file /etc/logrotate.d/dpkg ... (Reading database ... 12704 files and directories currently installed.) Preparing to unpack .../dash_0.5.8-2.10_amd64.deb ... Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' Unpacking dash (0.5.8-2.10) over (0.5.8-2.3ubuntu1) ... Setting up dash (0.5.8-2.10) ... Removing 'diversion of /bin/sh to /bin/sh.distrib by bash' Adding 'diversion of /bin/sh to /bin/sh.distrib by dash' Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' (Reading database ... 12704 files and directories currently installed.) Preparing to unpack .../libcomerr2_1.43.9-2_amd64.deb ... Unpacking libcomerr2:amd64 (1.43.9-2) over (1.43.5-1) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../libcom-err2_1.43.9-2_amd64.deb ... Unpacking libcom-err2:amd64 (1.43.9-2) ... Setting up libcom-err2:amd64 (1.43.9-2) ... (Reading database ... 12707 files and directories currently installed.) Preparing to unpack .../e2fslibs_1.43.9-2_amd64.deb ... Unpacking e2fslibs:amd64 (1.43.9-2) over (1.43.5-1) ... Selecting previously unselected package libext2fs2:amd64. Preparing to unpack .../libext2fs2_1.43.9-2_amd64.deb ... Unpacking libext2fs2:amd64 (1.43.9-2) ... Setting up libext2fs2:amd64 (1.43.9-2) ... (Reading database ... 12711 files and directories currently installed.) Preparing to unpack .../e2fsprogs_1.43.9-2_amd64.deb ... Unpacking e2fsprogs (1.43.9-2) over (1.43.5-1) ... Setting up e2fsprogs (1.43.9-2) ... Installing new version of config file /etc/mke2fs.conf ... (Reading database ... 12712 files and directories currently installed.) Preparing to unpack .../findutils_4.6.0+git+20170828-2_amd64.deb ... Unpacking findutils (4.6.0+git+20170828-2) over (4.6.0+git+20170729-2) ... Setting up findutils (4.6.0+git+20170828-2) ... (Reading database ... 12712 files and directories currently installed.) Preparing to unpack .../hostname_3.20_amd64.deb ... Unpacking hostname (3.20) over (3.18) ... Setting up hostname (3.20) ... (Reading database ... 12712 files and directories currently installed.) Preparing to unpack .../login_1%3a4.5-1ubuntu1_amd64.deb ... Unpacking login (1:4.5-1ubuntu1) over (1:4.2-3.2ubuntu4) ... Setting up login (1:4.5-1ubuntu1) ... Installing new version of config file /etc/login.defs ... Installing new version of config file /etc/pam.d/login ... Installing new version of config file /etc/securetty ... (Reading database ... 12712 files and directories currently installed.) Preparing to unpack .../libncurses5_6.1-1ubuntu1_amd64.deb ... Unpacking libncurses5:amd64 (6.1-1ubuntu1) over (6.0+20160625-1ubuntu1) ... Preparing to unpack .../libtinfo5_6.1-1ubuntu1_amd64.deb ... Unpacking libtinfo5:amd64 (6.1-1ubuntu1) over (6.0+20160625-1ubuntu1) ... Setting up libtinfo5:amd64 (6.1-1ubuntu1) ... (Reading database ... 12712 files and directories currently installed.) Preparing to unpack .../ncurses-bin_6.1-1ubuntu1_amd64.deb ... Unpacking ncurses-bin (6.1-1ubuntu1) over (6.0+20160625-1ubuntu1) ... Setting up ncurses-bin (6.1-1ubuntu1) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libncursesw5_6.1-1ubuntu1_amd64.deb ... Unpacking libncursesw5:amd64 (6.1-1ubuntu1) over (6.0+20160625-1ubuntu1) ... Setting up libncursesw5:amd64 (6.1-1ubuntu1) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../archives/sed_4.4-2_amd64.deb ... Unpacking sed (4.4-2) over (4.4-1) ... Setting up sed (4.4-2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libuuid1_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking libuuid1:amd64 (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... Setting up libuuid1:amd64 (2.31.1-0.4ubuntu2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libblkid1_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking libblkid1:amd64 (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... Setting up libblkid1:amd64 (2.31.1-0.4ubuntu2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libsmartcols1_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking libsmartcols1:amd64 (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... Setting up libsmartcols1:amd64 (2.31.1-0.4ubuntu2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libfdisk1_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking libfdisk1:amd64 (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... Setting up libfdisk1:amd64 (2.31.1-0.4ubuntu2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libpcre3_2%3a8.39-9_amd64.deb ... Unpacking libpcre3:amd64 (2:8.39-9) over (2:8.39-4) ... Setting up libpcre3:amd64 (2:8.39-9) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libselinux1_2.7-2build2_amd64.deb ... Unpacking libselinux1:amd64 (2.7-2build2) over (2.7-1) ... Setting up libselinux1:amd64 (2.7-2build2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libmount1_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking libmount1:amd64 (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... Setting up libmount1:amd64 (2.31.1-0.4ubuntu2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../fdisk_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking fdisk (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... Setting up fdisk (2.31.1-0.4ubuntu2) ... (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../util-linux_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking util-linux (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... dpkg: warning: unable to delete old directory '/etc/cron.weekly': Directory not empty Setting up util-linux (2.31.1-0.4ubuntu2) ... Removing obsolete conffile /etc/cron.weekly/fstrim ... Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer -> /lib/systemd/system/fstrim.timer. (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../base-passwd_3.5.44_amd64.deb ... Unpacking base-passwd (3.5.44) over (3.5.43) ... Setting up base-passwd (3.5.44) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../ncurses-base_6.1-1ubuntu1_all.deb ... Unpacking ncurses-base (6.1-1ubuntu1) over (6.0+20160625-1ubuntu1) ... Setting up ncurses-base (6.1-1ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../sysvinit-utils_2.88dsf-59.10ubuntu1_amd64.deb ... Unpacking sysvinit-utils (2.88dsf-59.10ubuntu1) over (2.88dsf-59.8git1) ... Setting up sysvinit-utils (2.88dsf-59.10ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libstdc++6_8-20180312-2ubuntu1_amd64.deb ... Unpacking libstdc++6:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Setting up libstdc++6:amd64 (8-20180312-2ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libudev1_237-3ubuntu4_amd64.deb ... Unpacking libudev1:amd64 (237-3ubuntu4) over (234-2ubuntu10) ... Setting up libudev1:amd64 (237-3ubuntu4) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libapt-pkg5.0_1.6~beta1_amd64.deb ... Unpacking libapt-pkg5.0:amd64 (1.6~beta1) over (1.5~rc4) ... Setting up libapt-pkg5.0:amd64 (1.6~beta1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libaudit-common_1%3a2.8.2-1ubuntu1_all.deb ... Unpacking libaudit-common (1:2.8.2-1ubuntu1) over (1:2.7.7-1ubuntu2) ... Setting up libaudit-common (1:2.8.2-1ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libcap-ng0_0.7.7-3.1_amd64.deb ... Unpacking libcap-ng0:amd64 (0.7.7-3.1) over (0.7.7-3build1) ... Setting up libcap-ng0:amd64 (0.7.7-3.1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libaudit1_1%3a2.8.2-1ubuntu1_amd64.deb ... Unpacking libaudit1:amd64 (1:2.8.2-1ubuntu1) over (1:2.7.7-1ubuntu2) ... Setting up libaudit1:amd64 (1:2.8.2-1ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../debconf_1.5.66_all.deb ... Unpacking debconf (1.5.66) over (1.5.63) ... Setting up debconf (1.5.66) ... (Reading database ... 12707 files and directories currently installed.) Preparing to unpack .../libpam0g_1.1.8-3.2ubuntu4_amd64.deb ... Unpacking libpam0g:amd64 (1.1.8-3.2ubuntu4) over (1.1.8-3.2ubuntu3) ... Setting up libpam0g:amd64 (1.1.8-3.2ubuntu4) ... (Reading database ... 12707 files and directories currently installed.) Preparing to unpack .../libsemanage-common_2.7-2build2_all.deb ... Unpacking libsemanage-common (2.7-2build2) over (2.7-1) ... Setting up libsemanage-common (2.7-2build2) ... (Reading database ... 12707 files and directories currently installed.) Preparing to unpack .../libsemanage1_2.7-2build2_amd64.deb ... Unpacking libsemanage1:amd64 (2.7-2build2) over (2.7-1) ... Setting up libsemanage1:amd64 (2.7-2build2) ... (Reading database ... 12707 files and directories currently installed.) Preparing to unpack .../libpam-modules-bin_1.1.8-3.2ubuntu4_amd64.deb ... Unpacking libpam-modules-bin (1.1.8-3.2ubuntu4) over (1.1.8-3.2ubuntu3) ... Setting up libpam-modules-bin (1.1.8-3.2ubuntu4) ... (Reading database ... 12707 files and directories currently installed.) Preparing to unpack .../libpam-modules_1.1.8-3.2ubuntu4_amd64.deb ... Unpacking libpam-modules:amd64 (1.1.8-3.2ubuntu4) over (1.1.8-3.2ubuntu3) ... Setting up libpam-modules:amd64 (1.1.8-3.2ubuntu4) ... (Reading database ... 12707 files and directories currently installed.) Preparing to unpack .../passwd_1%3a4.5-1ubuntu1_amd64.deb ... Unpacking passwd (1:4.5-1ubuntu1) over (1:4.2-3.2ubuntu4) ... Setting up passwd (1:4.5-1ubuntu1) ... (Reading database ... 12715 files and directories currently installed.) Preparing to unpack .../adduser_3.116ubuntu1_all.deb ... Unpacking adduser (3.116ubuntu1) over (3.113+nmu3ubuntu5) ... Setting up adduser (3.116ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libgpg-error0_1.27-6_amd64.deb ... Unpacking libgpg-error0:amd64 (1.27-6) over (1.27-3) ... Setting up libgpg-error0:amd64 (1.27-6) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../libgcrypt20_1.8.1-4ubuntu1_amd64.deb ... Unpacking libgcrypt20:amd64 (1.8.1-4ubuntu1) over (1.7.8-2ubuntu1) ... Setting up libgcrypt20:amd64 (1.8.1-4ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../gpgv_2.2.4-1ubuntu1_amd64.deb ... Unpacking gpgv (2.2.4-1ubuntu1) over (2.1.15-1ubuntu7) ... Setting up gpgv (2.2.4-1ubuntu1) ... (Reading database ... 12713 files and directories currently installed.) Preparing to unpack .../ubuntu-keyring_2018.02.28_all.deb ... Unpacking ubuntu-keyring (2018.02.28) over (2016.10.27) ... Setting up ubuntu-keyring (2018.02.28) ... Selecting previously unselected package libunistring2:amd64. (Reading database ... 12714 files and directories currently installed.) Preparing to unpack .../libunistring2_0.9.9-0ubuntu1_amd64.deb ... Unpacking libunistring2:amd64 (0.9.9-0ubuntu1) ... Setting up libunistring2:amd64 (0.9.9-0ubuntu1) ... (Reading database ... 12719 files and directories currently installed.) Preparing to unpack .../libgmp10_2%3a6.1.2+dfsg-2_amd64.deb ... Unpacking libgmp10:amd64 (2:6.1.2+dfsg-2) over (2:6.1.2+dfsg-1) ... Setting up libgmp10:amd64 (2:6.1.2+dfsg-2) ... (Reading database ... 12719 files and directories currently installed.) Preparing to unpack .../libnettle6_3.4-1_amd64.deb ... Unpacking libnettle6:amd64 (3.4-1) over (3.3-1) ... Setting up libnettle6:amd64 (3.4-1) ... (Reading database ... 12721 files and directories currently installed.) Preparing to unpack .../libhogweed4_3.4-1_amd64.deb ... Unpacking libhogweed4:amd64 (3.4-1) over (3.3-1) ... Setting up libhogweed4:amd64 (3.4-1) ... (Reading database ... 12721 files and directories currently installed.) Preparing to unpack .../libidn2-0_2.0.4-1.1build2_amd64.deb ... Unpacking libidn2-0:amd64 (2.0.4-1.1build2) over (2.0.2-5) ... Setting up libidn2-0:amd64 (2.0.4-1.1build2) ... (Reading database ... 12722 files and directories currently installed.) Preparing to unpack .../libffi6_3.2.1-8_amd64.deb ... Unpacking libffi6:amd64 (3.2.1-8) over (3.2.1-6) ... Setting up libffi6:amd64 (3.2.1-8) ... (Reading database ... 12722 files and directories currently installed.) Preparing to unpack .../libp11-kit0_0.23.9-2_amd64.deb ... Unpacking libp11-kit0:amd64 (0.23.9-2) over (0.23.7-3) ... Setting up libp11-kit0:amd64 (0.23.9-2) ... (Reading database ... 12722 files and directories currently installed.) Preparing to unpack .../libtasn1-6_4.13-2_amd64.deb ... Unpacking libtasn1-6:amd64 (4.13-2) over (4.12-2.1) ... Setting up libtasn1-6:amd64 (4.13-2) ... (Reading database ... 12722 files and directories currently installed.) Preparing to unpack .../libgnutls30_3.5.18-1ubuntu1_amd64.deb ... Unpacking libgnutls30:amd64 (3.5.18-1ubuntu1) over (3.5.8-6ubuntu3) ... Setting up libgnutls30:amd64 (3.5.18-1ubuntu1) ... (Reading database ... 12722 files and directories currently installed.) Preparing to unpack .../libseccomp2_2.3.1-2.1ubuntu4_amd64.deb ... Unpacking libseccomp2:amd64 (2.3.1-2.1ubuntu4) over (2.3.1-2.1ubuntu2) ... Setting up libseccomp2:amd64 (2.3.1-2.1ubuntu4) ... (Reading database ... 12722 files and directories currently installed.) Preparing to unpack .../apt_1.6~beta1_amd64.deb ... Unpacking apt (1.6~beta1) over (1.5~rc4) ... Setting up apt (1.6~beta1) ... Installing new version of config file /etc/apt/apt.conf.d/01autoremove ... Installing new version of config file /etc/cron.daily/apt-compat ... Selecting previously unselected package libargon2-0:amd64. (Reading database ... 12725 files and directories currently installed.) Preparing to unpack .../00-libargon2-0_0~20161029-1.1_amd64.deb ... Unpacking libargon2-0:amd64 (0~20161029-1.1) ... Selecting previously unselected package libjson-c3:amd64. Preparing to unpack .../01-libjson-c3_0.12.1-1.3_amd64.deb ... Unpacking libjson-c3:amd64 (0.12.1-1.3) ... Preparing to unpack .../02-libdevmapper1.02.1_2%3a1.02.145-4.1ubuntu2_amd64.deb ... Unpacking libdevmapper1.02.1:amd64 (2:1.02.145-4.1ubuntu2) over (2:1.02.137-2ubuntu3) ... Selecting previously unselected package libcryptsetup12:amd64. Preparing to unpack .../03-libcryptsetup12_2%3a2.0.1-0ubuntu2_amd64.deb ... Unpacking libcryptsetup12:amd64 (2:2.0.1-0ubuntu2) ... Preparing to unpack .../04-libapparmor1_2.11.0-2ubuntu19_amd64.deb ... Unpacking libapparmor1:amd64 (2.11.0-2ubuntu19) over (2.11.0-2ubuntu17) ... Preparing to unpack .../05-libcap2_1%3a2.25-1.2_amd64.deb ... Unpacking libcap2:amd64 (1:2.25-1.2) over (1:2.25-1) ... Preparing to unpack .../06-libidn11_1.33-2.1_amd64.deb ... Unpacking libidn11:amd64 (1.33-2.1) over (1.33-2) ... Preparing to unpack .../07-libip4tc0_1.6.1-2ubuntu2_amd64.deb ... Unpacking libip4tc0:amd64 (1.6.1-2ubuntu2) over (1.6.1-2ubuntu1) ... Preparing to unpack .../08-libkmod2_24-1ubuntu3_amd64.deb ... Unpacking libkmod2:amd64 (24-1ubuntu3) over (24-1ubuntu2) ... Preparing to unpack .../09-mount_2.31.1-0.4ubuntu2_amd64.deb ... Unpacking mount (2.31.1-0.4ubuntu2) over (2.30.1-0ubuntu4) ... Preparing to unpack .../10-libprocps6_2%3a3.3.12-3ubuntu1_amd64.deb ... Unpacking libprocps6:amd64 (2:3.3.12-3ubuntu1) over (2:3.3.12-1ubuntu2) ... Preparing to unpack .../11-lsb-base_9.20170808ubuntu1_all.deb ... Unpacking lsb-base (9.20170808ubuntu1) over (9.20160110ubuntu5) ... Preparing to unpack .../12-procps_2%3a3.3.12-3ubuntu1_amd64.deb ... Unpacking procps (2:3.3.12-3ubuntu1) over (2:3.3.12-1ubuntu2) ... Preparing to unpack .../13-systemd_237-3ubuntu4_amd64.deb ... Unpacking systemd (237-3ubuntu4) over (234-2ubuntu10) ... Preparing to unpack .../14-libsystemd0_237-3ubuntu4_amd64.deb ... Unpacking libsystemd0:amd64 (237-3ubuntu4) over (234-2ubuntu10) ... Setting up libsystemd0:amd64 (237-3ubuntu4) ... (Reading database ... 12761 files and directories currently installed.) Preparing to unpack .../archives/init_1.51_amd64.deb ... Unpacking init (1.51) over (1.49ubuntu1) ... Setting up libapparmor1:amd64 (2.11.0-2ubuntu19) ... Setting up libcap2:amd64 (1:2.25-1.2) ... Setting up libargon2-0:amd64 (0~20161029-1.1) ... Setting up libdevmapper1.02.1:amd64 (2:1.02.145-4.1ubuntu2) ... Setting up libjson-c3:amd64 (0.12.1-1.3) ... Setting up libcryptsetup12:amd64 (2:2.0.1-0ubuntu2) ... Setting up libidn11:amd64 (1.33-2.1) ... Setting up libip4tc0:amd64 (1.6.1-2ubuntu2) ... Setting up libkmod2:amd64 (24-1ubuntu3) ... Setting up mount (2.31.1-0.4ubuntu2) ... Setting up libncurses5:amd64 (6.1-1ubuntu1) ... Setting up libprocps6:amd64 (2:3.3.12-3ubuntu1) ... Setting up lsb-base (9.20170808ubuntu1) ... Setting up procps (2:3.3.12-3ubuntu1) ... Setting up systemd (237-3ubuntu4) ... Installing new version of config file /etc/systemd/journald.conf ... Installing new version of config file /etc/systemd/resolved.conf ... Installing new version of config file /etc/systemd/system.conf ... Installing new version of config file /etc/systemd/timesyncd.conf ... Removing empty /etc/rc.local Removed /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service. Removing user `systemd-bus-proxy' ... Warning: group `systemd-bus-proxy' has no more members. Done. (Reading database ... 12761 files and directories currently installed.) Preparing to unpack .../systemd-sysv_237-3ubuntu4_amd64.deb ... Unpacking systemd-sysv (237-3ubuntu4) over (234-2ubuntu10) ... Preparing to unpack .../libpam-runtime_1.1.8-3.2ubuntu4_all.deb ... Unpacking libpam-runtime (1.1.8-3.2ubuntu4) over (1.1.8-3.2ubuntu3) ... Setting up libpam-runtime (1.1.8-3.2ubuntu4) ... (Reading database ... 12761 files and directories currently installed.) Preparing to unpack .../libss2_1.43.9-2_amd64.deb ... Unpacking libss2:amd64 (1.43.9-2) over (1.43.5-1) ... Setting up libss2:amd64 (1.43.9-2) ... (Reading database ... 12761 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.11_all.deb ... Unpacking sensible-utils (0.0.11) over (0.0.10) ... Preparing to unpack .../01-dmsetup_2%3a1.02.145-4.1ubuntu2_amd64.deb ... Unpacking dmsetup (2:1.02.145-4.1ubuntu2) over (2:1.02.137-2ubuntu3) ... Preparing to unpack .../02-libpng16-16_1.6.34-1_amd64.deb ... Unpacking libpng16-16:amd64 (1.6.34-1) over (1.6.32-2) ... Preparing to unpack .../03-readline-common_7.0-3_all.deb ... Unpacking readline-common (7.0-3) over (7.0-0ubuntu2) ... Preparing to unpack .../04-libreadline7_7.0-3_amd64.deb ... Unpacking libreadline7:amd64 (7.0-3) over (7.0-0ubuntu2) ... Preparing to unpack .../05-libslang2_2.3.1a-3ubuntu1_amd64.deb ... Unpacking libslang2:amd64 (2.3.1a-3ubuntu1) over (2.3.1-5ubuntu1) ... Preparing to unpack .../06-libsqlite3-0_3.22.0-1_amd64.deb ... Unpacking libsqlite3-0:amd64 (3.22.0-1) over (3.19.3-3) ... Selecting previously unselected package libssl1.1:amd64. Preparing to unpack .../07-libssl1.1_1.1.0g-2ubuntu2_amd64.deb ... Unpacking libssl1.1:amd64 (1.1.0g-2ubuntu2) ... Preparing to unpack .../08-multiarch-support_2.27-0ubuntu2_amd64.deb ... Unpacking multiarch-support (2.27-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../09-openssl_1.1.0g-2ubuntu2_amd64.deb ... Unpacking openssl (1.1.0g-2ubuntu2) over (1.0.2g-1ubuntu13) ... Preparing to unpack .../10-tzdata_2018c-1_all.deb ... Unpacking tzdata (2018c-1) over (2017b-2) ... Preparing to unpack .../11-libgssapi-krb5-2_1.16-2build1_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.16-2build1) over (1.15.1-2) ... Preparing to unpack .../12-libkrb5-3_1.16-2build1_amd64.deb ... Unpacking libkrb5-3:amd64 (1.16-2build1) over (1.15.1-2) ... Preparing to unpack .../13-libk5crypto3_1.16-2build1_amd64.deb ... Unpacking libk5crypto3:amd64 (1.16-2build1) over (1.15.1-2) ... Preparing to unpack .../14-libkrb5support0_1.16-2build1_amd64.deb ... Unpacking libkrb5support0:amd64 (1.16-2build1) over (1.15.1-2) ... Preparing to unpack .../15-libkeyutils1_1.5.9-9.2ubuntu1_amd64.deb ... Unpacking libkeyutils1:amd64 (1.5.9-9.2ubuntu1) over (1.5.9-9ubuntu1) ... Preparing to unpack .../16-libssl1.0.0_1.0.2n-1ubuntu4_amd64.deb ... Unpacking libssl1.0.0:amd64 (1.0.2n-1ubuntu4) over (1.0.2g-1ubuntu13) ... Preparing to unpack .../17-advancecomp_2.1-1_amd64.deb ... Unpacking advancecomp (2.1-1) over (2.0-1) ... Preparing to unpack .../18-apt-transport-https_1.6~beta1_all.deb ... Unpacking apt-transport-https (1.6~beta1) over (1.5~rc4) ... Preparing to unpack .../19-libbinutils_2.30-7ubuntu1_amd64.deb ... Unpacking libbinutils:amd64 (2.30-7ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../20-binutils_2.30-7ubuntu1_amd64.deb ... Unpacking binutils (2.30-7ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../21-binutils-common_2.30-7ubuntu1_amd64.deb ... Unpacking binutils-common:amd64 (2.30-7ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../22-binutils-x86-64-linux-gnu_2.30-7ubuntu1_amd64.deb ... Unpacking binutils-x86-64-linux-gnu (2.30-7ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../23-dpkg-dev_1.19.0.5ubuntu1_all.deb ... Unpacking dpkg-dev (1.19.0.5ubuntu1) over (1.18.24ubuntu1) ... Preparing to unpack .../24-libdpkg-perl_1.19.0.5ubuntu1_all.deb ... Unpacking libdpkg-perl (1.19.0.5ubuntu1) over (1.18.24ubuntu1) ... Preparing to unpack .../25-patch_2.7.6-1_amd64.deb ... Unpacking patch (2.7.6-1) over (2.7.5-1build1) ... Preparing to unpack .../26-build-essential_12.4ubuntu1_amd64.deb ... Unpacking build-essential (12.4ubuntu1) over (12.1ubuntu2) ... Preparing to unpack .../27-libquadmath0_8-20180312-2ubuntu1_amd64.deb ... Unpacking libquadmath0:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../28-libitm1_8-20180312-2ubuntu1_amd64.deb ... Unpacking libitm1:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../29-libmpx2_8-20180312-2ubuntu1_amd64.deb ... Unpacking libmpx2:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../30-libgomp1_8-20180312-2ubuntu1_amd64.deb ... Unpacking libgomp1:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../31-libatomic1_8-20180312-2ubuntu1_amd64.deb ... Unpacking libatomic1:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../32-libasan4_7.3.0-11ubuntu1_amd64.deb ... Unpacking libasan4:amd64 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../33-liblsan0_8-20180312-2ubuntu1_amd64.deb ... Unpacking liblsan0:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../34-libtsan0_8-20180312-2ubuntu1_amd64.deb ... Unpacking libtsan0:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../35-libubsan0_7.3.0-11ubuntu1_amd64.deb ... Unpacking libubsan0:amd64 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../36-libcilkrts5_7.3.0-11ubuntu1_amd64.deb ... Unpacking libcilkrts5:amd64 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../37-g++-7_7.3.0-11ubuntu1_amd64.deb ... Unpacking g++-7 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../38-gcc-7_7.3.0-11ubuntu1_amd64.deb ... Unpacking gcc-7 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../39-libstdc++-7-dev_7.3.0-11ubuntu1_amd64.deb ... Unpacking libstdc++-7-dev:amd64 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../40-libgcc-7-dev_7.3.0-11ubuntu1_amd64.deb ... Unpacking libgcc-7-dev:amd64 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../41-libcc1-0_8-20180312-2ubuntu1_amd64.deb ... Unpacking libcc1-0:amd64 (8-20180312-2ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../42-cpp-7_7.3.0-11ubuntu1_amd64.deb ... Unpacking cpp-7 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Preparing to unpack .../43-gcc-7-base_7.3.0-11ubuntu1_amd64.deb ... Unpacking gcc-7-base:amd64 (7.3.0-11ubuntu1) over (7.2.0-6ubuntu1) ... Selecting previously unselected package libisl19:amd64. Preparing to unpack .../44-libisl19_0.19-0ubuntu1_amd64.deb ... Unpacking libisl19:amd64 (0.19-0ubuntu1) ... Preparing to unpack .../45-libmpc3_1.1.0-1_amd64.deb ... Unpacking libmpc3:amd64 (1.1.0-1) over (1.0.3-2) ... Selecting previously unselected package libmpfr6:amd64. Preparing to unpack .../46-libmpfr6_4.0.1-1_amd64.deb ... Unpacking libmpfr6:amd64 (4.0.1-1) ... Selecting previously unselected package gnupg-l10n. Preparing to unpack .../47-gnupg-l10n_2.2.4-1ubuntu1_all.deb ... Unpacking gnupg-l10n (2.2.4-1ubuntu1) ... Preparing to unpack .../48-libassuan0_2.5.1-2_amd64.deb ... Unpacking libassuan0:amd64 (2.5.1-2) over (2.4.3-3) ... Preparing to unpack .../49-gnupg_2.2.4-1ubuntu1_amd64.deb ... Unpacking gnupg (2.2.4-1ubuntu1) over (2.1.15-1ubuntu7) ... Preparing to unpack .../50-gnupg-agent_2.2.4-1ubuntu1_all.deb ... Unpacking gnupg-agent (2.2.4-1ubuntu1) over (2.1.15-1ubuntu7) ... dpkg: warning: unable to delete old directory '/etc/X11/Xsession.d': Directory not empty dpkg: warning: unable to delete old directory '/etc/X11': Directory not empty Selecting previously unselected package gpgconf. Preparing to unpack .../51-gpgconf_2.2.4-1ubuntu1_amd64.deb ... Unpacking gpgconf (2.2.4-1ubuntu1) ... Preparing to unpack .../52-pinentry-curses_1.1.0-1_amd64.deb ... Unpacking pinentry-curses (1.1.0-1) over (1.0.0-2) ... Preparing to unpack .../53-libnpth0_1.5-3_amd64.deb ... Unpacking libnpth0:amd64 (1.5-3) over (1.5-2) ... Selecting previously unselected package gpg-agent. Preparing to unpack .../54-gpg-agent_2.2.4-1ubuntu1_amd64.deb ... Unpacking gpg-agent (2.2.4-1ubuntu1) ... Selecting previously unselected package gnupg-utils. Preparing to unpack .../55-gnupg-utils_2.2.4-1ubuntu1_amd64.deb ... Unpacking gnupg-utils (2.2.4-1ubuntu1) ... Selecting previously unselected package gpg. Preparing to unpack .../56-gpg_2.2.4-1ubuntu1_amd64.deb ... Unpacking gpg (2.2.4-1ubuntu1) ... Selecting previously unselected package gpg-wks-client. Preparing to unpack .../57-gpg-wks-client_2.2.4-1ubuntu1_amd64.deb ... Unpacking gpg-wks-client (2.2.4-1ubuntu1) ... Selecting previously unselected package gpg-wks-server. Preparing to unpack .../58-gpg-wks-server_2.2.4-1ubuntu1_amd64.deb ... Unpacking gpg-wks-server (2.2.4-1ubuntu1) ... Selecting previously unselected package gpgsm. Preparing to unpack .../59-gpgsm_2.2.4-1ubuntu1_amd64.deb ... Unpacking gpgsm (2.2.4-1ubuntu1) ... Selecting previously unselected package dirmngr. Preparing to unpack .../60-dirmngr_2.2.4-1ubuntu1_amd64.deb ... Unpacking dirmngr (2.2.4-1ubuntu1) ... Preparing to unpack .../61-libfakeroot_1.22-2ubuntu1_amd64.deb ... Unpacking libfakeroot:amd64 (1.22-2ubuntu1) over (1.21-1ubuntu2) ... Preparing to unpack .../62-fakeroot_1.22-2ubuntu1_amd64.deb ... Unpacking fakeroot (1.22-2ubuntu1) over (1.21-1ubuntu2) ... Preparing to unpack .../63-libroken18-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libroken18-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../64-libasn1-8-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libasn1-8-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../65-libnghttp2-14_1.30.0-1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.30.0-1) ... Preparing to unpack .../66-libpsl5_0.19.1-5build1_amd64.deb ... Unpacking libpsl5:amd64 (0.19.1-5build1) over (0.18.0-2) ... Preparing to unpack .../67-libcurl3-gnutls_7.58.0-2ubuntu2_amd64.deb ... Unpacking libcurl3-gnutls:amd64 (7.58.0-2ubuntu2) over (7.55.1-1ubuntu1) ... Preparing to unpack .../68-libheimbase1-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libheimbase1-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../69-libhcrypto4-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libhcrypto4-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../70-libwind0-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libwind0-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../71-libhx509-5-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libhx509-5-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../72-libkrb5-26-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libkrb5-26-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../73-libheimntlm0-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libheimntlm0-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../74-libgssapi3-heimdal_7.5.0+dfsg-1_amd64.deb ... Unpacking libgssapi3-heimdal:amd64 (7.5.0+dfsg-1) over (7.4.0.dfsg.1-2) ... Preparing to unpack .../75-libisl15_0.18-1ubuntu1_amd64.deb ... Unpacking libisl15:amd64 (0.18-1ubuntu1) over (0.18-1) ... Preparing to unpack .../76-liblockfile-bin_1.14-1.1_amd64.deb ... Unpacking liblockfile-bin (1.14-1.1) over (1.14-1) ... Preparing to unpack .../77-liblockfile1_1.14-1.1_amd64.deb ... Unpacking liblockfile1:amd64 (1.14-1.1) over (1.14-1) ... Preparing to unpack .../78-libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu2_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) over (2.1.27~101-g0780600+dfsg-3ubuntu1) ... Preparing to unpack .../79-libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu2_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) over (2.1.27~101-g0780600+dfsg-3ubuntu1) ... Preparing to unpack .../80-optipng_0.7.6-1.1_amd64.deb ... Unpacking optipng (0.7.6-1.1) over (0.7.6-1build1) ... Preparing to unpack .../81-pkgbinarymangler_135_all.deb ... Unpacking pkgbinarymangler (135) over (131) ... Setting up libquadmath0:amd64 (8-20180312-2ubuntu1) ... Setting up libnpth0:amd64 (1.5-3) ... Setting up libgomp1:amd64 (8-20180312-2ubuntu1) ... Setting up libatomic1:amd64 (8-20180312-2ubuntu1) ... Setting up readline-common (7.0-3) ... Setting up liblockfile-bin (1.14-1.1) ... Setting up libcc1-0:amd64 (8-20180312-2ubuntu1) ... Setting up apt-transport-https (1.6~beta1) ... Setting up libssl1.0.0:amd64 (1.0.2n-1ubuntu4) ... Setting up libnghttp2-14:amd64 (1.30.0-1) ... Setting up e2fslibs:amd64 (1.43.9-2) ... Setting up libpng16-16:amd64 (1.6.34-1) ... Setting up libreadline7:amd64 (7.0-3) ... Setting up libpsl5:amd64 (0.19.1-5build1) ... Setting up multiarch-support (2.27-0ubuntu2) ... Setting up tzdata (2018c-1) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Mar 12 20:55:59 UTC 2018. Universal Time is now: Mon Mar 12 20:55:59 UTC 2018. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up systemd-sysv (237-3ubuntu4) ... Setting up libtsan0:amd64 (8-20180312-2ubuntu1) ... Setting up liblockfile1:amd64 (1.14-1.1) ... Setting up libsasl2-modules-db:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... Setting up linux-libc-dev:amd64 (4.15.0-12.13) ... Setting up libmpfr6:amd64 (4.0.1-1) ... Setting up advancecomp (2.1-1) ... Setting up libsasl2-2:amd64 (2.1.27~101-g0780600+dfsg-3ubuntu2) ... Setting up libroken18-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up perl-modules-5.26 (5.26.1-5) ... Setting up libgdbm5:amd64 (1.14.1-4) ... Setting up libkrb5support0:amd64 (1.16-2build1) ... Setting up optipng (0.7.6-1.1) ... Setting up gnupg-l10n (2.2.4-1ubuntu1) ... Setting up liblsan0:amd64 (8-20180312-2ubuntu1) ... Setting up gcc-7-base:amd64 (7.3.0-11ubuntu1) ... Setting up binutils-common:amd64 (2.30-7ubuntu1) ... Setting up libmpx2:amd64 (8-20180312-2ubuntu1) ... Setting up libisl15:amd64 (0.18-1ubuntu1) ... Setting up sensible-utils (0.0.11) ... Setting up patch (2.7.6-1) ... Processing triggers for libc-bin (2.27-0ubuntu2) ... Setting up libssl1.1:amd64 (1.1.0g-2ubuntu2) ... Setting up libheimbase1-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up libfakeroot:amd64 (1.22-2ubuntu1) ... Setting up openssl (1.1.0g-2ubuntu2) ... Installing new version of config file /etc/ssl/openssl.cnf ... Setting up libsqlite3-0:amd64 (3.22.0-1) ... Setting up dmsetup (2:1.02.145-4.1ubuntu2) ... Setting up libmpc3:amd64 (1.1.0-1) ... Setting up libc-dev-bin (2.27-0ubuntu2) ... Setting up libcomerr2:amd64 (1.43.9-2) ... Setting up libgdbm-compat4:amd64 (1.14.1-4) ... Setting up libkeyutils1:amd64 (1.5.9-9.2ubuntu1) ... Setting up libc6-dev:amd64 (2.27-0ubuntu2) ... Setting up libslang2:amd64 (2.3.1a-3ubuntu1) ... Setting up libassuan0:amd64 (2.5.1-2) ... Setting up libitm1:amd64 (8-20180312-2ubuntu1) ... Setting up libisl19:amd64 (0.19-0ubuntu1) ... Setting up libk5crypto3:amd64 (1.16-2build1) ... Setting up pkgbinarymangler (135) ... Setting up libwind0-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up libasan4:amd64 (7.3.0-11ubuntu1) ... Setting up libbinutils:amd64 (2.30-7ubuntu1) ... Setting up libcilkrts5:amd64 (7.3.0-11ubuntu1) ... Setting up init (1.51) ... Setting up libasn1-8-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up libubsan0:amd64 (7.3.0-11ubuntu1) ... Setting up gpgconf (2.2.4-1ubuntu1) ... Setting up libhcrypto4-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up fakeroot (1.22-2ubuntu1) ... Setting up libhx509-5-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up libgcc-7-dev:amd64 (7.3.0-11ubuntu1) ... Setting up cpp-7 (7.3.0-11ubuntu1) ... Setting up libstdc++-7-dev:amd64 (7.3.0-11ubuntu1) ... Setting up libperl5.26:amd64 (5.26.1-5) ... Setting up gpgsm (2.2.4-1ubuntu1) ... Setting up gnupg-utils (2.2.4-1ubuntu1) ... Setting up pinentry-curses (1.1.0-1) ... Setting up libkrb5-3:amd64 (1.16-2build1) ... Setting up libkrb5-26-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up dirmngr (2.2.4-1ubuntu1) ... Setting up libheimntlm0-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up gpg (2.2.4-1ubuntu1) ... Setting up binutils-x86-64-linux-gnu (2.30-7ubuntu1) ... Setting up gpg-agent (2.2.4-1ubuntu1) ... Installing new version of config file /etc/X11/Xsession.d/90gpg-agent ... Setting up gpg-wks-server (2.2.4-1ubuntu1) ... Setting up gpg-wks-client (2.2.4-1ubuntu1) ... Setting up libgssapi-krb5-2:amd64 (1.16-2build1) ... Setting up perl (5.26.1-5) ... Setting up binutils (2.30-7ubuntu1) ... Setting up gnupg-agent (2.2.4-1ubuntu1) ... Setting up libgssapi3-heimdal:amd64 (7.5.0+dfsg-1) ... Setting up gcc-7 (7.3.0-11ubuntu1) ... Setting up g++-7 (7.3.0-11ubuntu1) ... Setting up libcurl3-gnutls:amd64 (7.58.0-2ubuntu2) ... Setting up gnupg (2.2.4-1ubuntu1) ... Setting up libdpkg-perl (1.19.0.5ubuntu1) ... Setting up dpkg-dev (1.19.0.5ubuntu1) ... Setting up build-essential (12.4ubuntu1) ... Processing triggers for libc-bin (2.27-0ubuntu2) ... RUN: /usr/share/launchpad-buildd/slavebin/sbuild-package PACKAGEBUILD-14447574 amd64 bionic-proposed -c chroot:build-PACKAGEBUILD-14447574 --arch=amd64 --dist=bionic-proposed --nolog -A ironic_10.1.1-0ubuntu2.dsc Initiating build PACKAGEBUILD-14447574 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:59 UTC 2017 x86_64 sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on lgw01-amd64-052.buildd +==============================================================================+ | ironic 1:10.1.1-0ubuntu2 (amd64) 12 Mar 2018 20:56 | +==============================================================================+ Package: ironic Version: 1:10.1.1-0ubuntu2 Source Version: 1:10.1.1-0ubuntu2 Distribution: bionic-proposed Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 I: NOTICE: Log filtering will replace 'build/ironic-wHUtyb/ironic-10.1.1' with '<>' I: NOTICE: Log filtering will replace 'build/ironic-wHUtyb' with '<>' I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-14447574/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- ironic_10.1.1-0ubuntu2.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-T0MFFq/apt_archive/sbuild-build-depends-core-dummy.deb'. Ign:1 copy:/<>/resolver-T0MFFq/apt_archive ./ InRelease Get:2 copy:/<>/resolver-T0MFFq/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-T0MFFq/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-T0MFFq/apt_archive ./ Sources [214 B] Get:5 copy:/<>/resolver-T0MFFq/apt_archive ./ Packages [525 B] Fetched 2858 B in 0s (44.2 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 packages were automatically installed and are no longer required: gnupg-agent libcryptsetup4 libcurl3-gnutls libgssapi-krb5-2 libisl15 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libnghttp2-14 libpsl5 librtmp1 libssl1.0.0 libunistring0 libustr-1.0-1 Use 'apt autoremove' to remove them. 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 852 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-T0MFFq/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 852 B in 0s (19.5 kB/s) Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 12991 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 (>= 10~), dh-python, openstack-pkg-tools (>= 23~), python-all, python-pbr (>= 2.0.0), python-setuptools, python-sphinx (>= 1.6.2), alembic (>= 0.8.10), crudini, python-alembic (>= 0.8.10), python-automaton (>= 1.9.0), python-babel (>= 2.3.4), python-bashate (>= 0.5.1), python-cinderclient (>= 1:3.3.0), python-coverage (>= 4.0), python-eventlet (>= 0.18.2), python-fixtures (>= 3.0.0), python-futurist (>= 1.2.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.16), python-jsonschema (>= 2.6.0), python-keystoneauth1 (>= 3.3.0), python-keystonemiddleware (>= 4.17.0), python-mock (>= 2.0.0), python-neutronclient (>= 1:6.3.0), python-openstackdocstheme (>= 1.18.1), python-os-api-ref (>= 1.4.0), python-os-testr (>= 1.0.0), python-os-traits (>= 0.4.0), python-oslo.concurrency (>= 3.25.0), python-oslo.config (>= 1:5.1.0), python-oslo.context (>= 1:2.19.2), python-oslo.db (>= 4.27.0), python-oslo.i18n (>= 3.15.3), python-oslo.log (>= 3.36.0), python-oslo.messaging (>= 5.29.0), python-oslo.middleware (>= 3.31.0), python-oslo.policy (>= 1.30.0), python-oslo.reports (>= 1.18.0), python-oslo.rootwrap (>= 5.8.0), python-oslo.serialization (>= 2.18.0), python-oslo.service (>= 1.24.0), python-oslo.utils (>= 3.33.0), python-oslo.versionedobjects (>= 1.31.2), python-oslosphinx (>= 4.7.0), python-oslotest (>= 1:3.2.0), python-osprofiler (>= 1.4.0), python-paramiko (>= 2.0), python-pecan (>= 1.0.0), python-psutil (>= 3.2.2), python-psycopg2 (>= 2.6.2), python-pymysql (>= 0.7.6), python-requests (>= 2.14.2), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.10.0), python-sphinxcontrib-pecanwsme (>= 0.8.0), python-sphinxcontrib.seqdiag, python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1:1.20.0), python-swiftclient (>= 1:3.2.0), python-testresources (>= 2.0.0), python-testscenarios (>= 0.4), python-testtools (>= 2.2.0), python-tooz (>= 1.58.0), python-tz (>= 2013.6), python-webob (>= 1:1.7.1), python-webtest (>= 2.0.27), python-wsme (>= 0.8.0) Filtered Build-Depends: debhelper (>= 10~), dh-python, openstack-pkg-tools (>= 23~), python-all, python-pbr (>= 2.0.0), python-setuptools, python-sphinx (>= 1.6.2), alembic (>= 0.8.10), crudini, python-alembic (>= 0.8.10), python-automaton (>= 1.9.0), python-babel (>= 2.3.4), python-bashate (>= 0.5.1), python-cinderclient (>= 1:3.3.0), python-coverage (>= 4.0), python-eventlet (>= 0.18.2), python-fixtures (>= 3.0.0), python-futurist (>= 1.2.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.16), python-jsonschema (>= 2.6.0), python-keystoneauth1 (>= 3.3.0), python-keystonemiddleware (>= 4.17.0), python-mock (>= 2.0.0), python-neutronclient (>= 1:6.3.0), python-openstackdocstheme (>= 1.18.1), python-os-api-ref (>= 1.4.0), python-os-testr (>= 1.0.0), python-os-traits (>= 0.4.0), python-oslo.concurrency (>= 3.25.0), python-oslo.config (>= 1:5.1.0), python-oslo.context (>= 1:2.19.2), python-oslo.db (>= 4.27.0), python-oslo.i18n (>= 3.15.3), python-oslo.log (>= 3.36.0), python-oslo.messaging (>= 5.29.0), python-oslo.middleware (>= 3.31.0), python-oslo.policy (>= 1.30.0), python-oslo.reports (>= 1.18.0), python-oslo.rootwrap (>= 5.8.0), python-oslo.serialization (>= 2.18.0), python-oslo.service (>= 1.24.0), python-oslo.utils (>= 3.33.0), python-oslo.versionedobjects (>= 1.31.2), python-oslosphinx (>= 4.7.0), python-oslotest (>= 1:3.2.0), python-osprofiler (>= 1.4.0), python-paramiko (>= 2.0), python-pecan (>= 1.0.0), python-psutil (>= 3.2.2), python-psycopg2 (>= 2.6.2), python-pymysql (>= 0.7.6), python-requests (>= 2.14.2), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.10.0), python-sphinxcontrib-pecanwsme (>= 0.8.0), python-sphinxcontrib.seqdiag, python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1:1.20.0), python-swiftclient (>= 1:3.2.0), python-testresources (>= 2.0.0), python-testscenarios (>= 0.4), python-testtools (>= 2.2.0), python-tooz (>= 1.58.0), python-tz (>= 2013.6), python-webob (>= 1:1.7.1), python-webtest (>= 2.0.27), python-wsme (>= 0.8.0) dpkg-deb: building package 'sbuild-build-depends-ironic-dummy' in '/<>/resolver-eyBBCq/apt_archive/sbuild-build-depends-ironic-dummy.deb'. Ign:1 copy:/<>/resolver-eyBBCq/apt_archive ./ InRelease Get:2 copy:/<>/resolver-eyBBCq/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-eyBBCq/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-eyBBCq/apt_archive ./ Sources [917 B] Get:5 copy:/<>/resolver-eyBBCq/apt_archive ./ Packages [1236 B] Fetched 4272 B in 0s (166 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 packages were automatically installed and are no longer required: gnupg-agent libcryptsetup4 libcurl3-gnutls libisl15 libnghttp2-14 libpsl5 librtmp1 libssl1.0.0 libunistring0 libustr-1.0-1 Use 'apt autoremove' to remove them. The following additional packages will be installed: alembic apt-utils autoconf automake autopkgtest autopoint autotools-dev bsdmainutils crudini dbus debhelper dh-autoreconf dh-python dh-strip-nondeterminism docutils-common file formencode-i18n gettext gettext-base groff-base ieee-data intltool-debian libapt-inst2.0 libarchive-zip-perl libbsd0 libcroco3 libdbus-1-3 libencode-locale-perl libexpat1 libfile-listing-perl libfile-stripnondeterminism-perl libfreetype6 libglib2.0-0 libgraphite2-3 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libice6 libicu-le-hb0 libicu60 libio-html-perl libio-socket-ssl-perl libjbig0 libjpeg-turbo8 libjpeg8 libjs-bootstrap libjs-jquery libjs-sphinxdoc libjs-underscore liblcms2-2 liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1 libmpdec2 libnet-http-perl libnet-ssleay-perl libpipeline1 libpq5 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libpython3.6-minimal libpython3.6-stdlib libsigsegv2 libsm6 libsubunit-perl libtiff5 libtimedate-perl libtool libtry-tiny-perl liburi-perl libwebp6 libwebpdemux2 libwebpmux3 libwww-perl libwww-robotrules-perl libx11-6 libx11-data libxau6 libxcb1 libxdelta2 libxdmcp6 libxext6 libxml-parser-perl libxml-xpath-perl libxml2 libxmu6 libxslt1.1 libxt6 libyaml-0-2 m4 madison-lite man-db mime-support netbase openstack-pkg-tools perl-openssl-defaults 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-blockdiag 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-cryptography python-dateutil python-dbus python-debtcollector python-decorator python-deprecation python-dnspython python-docutils python-dogpile.cache python-dulwich python-enum34 python-eventlet python-extras python-fasteners python-fixtures python-flake8 python-formencode python-funcparserlib python-funcsigs python-functools32 python-future python-futurist python-glanceclient python-greenlet python-hacking python-idna python-imagesize python-iniparse python-ipaddr python-ipaddress python-ironic-lib python-ironicclient python-iso8601 python-jinja2 python-jmespath 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-memcache python-migrate python-mimeparse python-minimal python-mock python-monotonic python-mox3 python-msgpack python-munch python-netaddr python-netifaces python-neutronclient python-oauthlib python-openssl python-openstackdocstheme python-openstacksdk python-os-api-ref python-os-api-ref-common python-os-client-config python-os-service-types python-os-testr python-os-traits python-osc-lib python-oslo.cache 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-pil 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-pyperclip python-redis python-reportlab python-reportlab-accel python-repoze.lru python-requests python-requestsexceptions python-retrying python-rfc3986 python-roman python-routes python-secretstorage python-sendfile python-seqdiag python-setuptools python-simplegeneric python-simplejson python-singledispatch python-six python-sphinx python-sphinxcontrib-pecanwsme python-sphinxcontrib.httpdomain python-sphinxcontrib.seqdiag python-sqlalchemy python-sqlparse python-statsd python-stestr python-stevedore python-subunit python-swiftclient python-tempita python-tenacity python-testrepository python-testresources python-testscenarios python-testtools python-tooz python-traceback2 python-typing python-tz python-unicodecsv python-unittest2 python-urllib3 python-vine python-voluptuous python-waitress python-warlock python-webcolors python-webob python-webtest python-wrapt python-wsme python-yaml python-zake python-zope.interface python2.7 python2.7-minimal python3 python3-alembic python3-chardet python3-dateutil python3-debian python3-distutils python3-extras python3-fixtures python3-lib2to3 python3-linecache2 python3-mako python3-markupsafe python3-mimeparse python3-minimal python3-pbr python3-pkg-resources python3-six python3-sqlalchemy python3-subunit python3-testrepository python3-testtools python3-traceback2 python3-unittest2 python3.6 python3.6-minimal sgml-base sphinx-common subunit sudo testrepository x11-common xclip xdelta xdelta3 xml-core Suggested packages: autoconf-archive gnu-standards autoconf-doc schroot lxc lxd-client qemu-system qemu-utils wamerican | wordlist whois vacation default-dbus-session-bus | dbus-session-bus dh-make dwz gettext-doc libasprintf-dev libgettextpo-dev groff libdata-dump-perl liblcms2-utils libcrypt-ssleay-perl libtool-doc gfortran | fortran95-compiler gcj-jdk libauthen-ntlm-perl m4-doc wget apparmor 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-cryptography-doc python-cryptography-vectors python-dbus-dbg python-dbus-doc python-debtcollector-doc fonts-linuxlibertine | ttf-linux-libertine texlive-lang-french texlive-latex-base texlive-latex-recommended python-enum34-doc python-eventlet-doc python-egenix-mxdatetime python-funcsigs-doc python-future-doc python-futurist-doc python-glanceclient-doc python-greenlet-doc python-greenlet-dev python-greenlet-dbg python-jinja2-doc python-crypto python-kazoo-doc gnome-keyring libkf5wallet-bin 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 memcached 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.cache-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 httpd-wsgi libapache2-mod-python libapache2-mod-scgi libjs-mochikit python-pastescript python-pastewebkit python-pecan-doc python-pika-doc python-pil-doc python-pil-dbg python-positional-doc python-psutil-doc python-psycopg2-doc ttf-bitstream-vera python-pyinotify-doc python-pymysql-doc python-pyparsing-doc python-hiredis pdf-viewer python-egenix-mxtexttools python-reportlab-doc python-socks python-secretstorage-doc python-setuptools-doc python-sphinx-rtd-theme libjs-mathjax dvipng texlive-latex-extra texlive-fonts-recommended texlive-generic-extra latexmk imagemagick-6.q16 sphinx-doc python-sqlalchemy-doc python-fdb python-pymssql python-sqlparse-doc python-stestr-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-editor python3-beaker python3-setuptools python3-psycopg2 python3-pymysql python3-fdb python3.6-venv python3.6-doc sgml-base-doc Recommended packages: autodep8 curl | wget | lynx libarchive-cpio-perl libglib2.0-data shared-mime-info xdg-user-dirs libhtml-format-perl javascript-common libltdl-dev libdata-dump-perl libhtml-form-perl libhttp-daemon-perl libmailtools-perl libmail-sendmail-perl pbzip2 pyflakes3 libjs-jquery-isonscreen libjs-jquery-tablesorter libjs-jquery-throttle-debounce python-gi docutils-doc libpaper-utils python-fastimport python-keyrings.alt python-html5lib python-openid python-scgi python-pastescript python-egenix-mxdatetime python-renderpm python-sqlalchemy-ext python3-apt python-gtk2 python-junitxml The following packages will be REMOVED: pkg-create-dbgsym* The following NEW packages will be installed: alembic apt-utils autoconf automake autopkgtest autopoint autotools-dev bsdmainutils crudini dbus debhelper dh-autoreconf dh-python dh-strip-nondeterminism docutils-common file formencode-i18n gettext gettext-base groff-base ieee-data intltool-debian libapt-inst2.0 libarchive-zip-perl libbsd0 libcroco3 libdbus-1-3 libencode-locale-perl libexpat1 libfile-listing-perl libfile-stripnondeterminism-perl libfreetype6 libglib2.0-0 libgraphite2-3 libharfbuzz0b libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libice6 libicu-le-hb0 libicu60 libio-html-perl libio-socket-ssl-perl libjbig0 libjpeg-turbo8 libjpeg8 libjs-bootstrap libjs-jquery libjs-sphinxdoc libjs-underscore liblcms2-2 liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1 libmpdec2 libnet-http-perl libnet-ssleay-perl libpipeline1 libpq5 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib libpython3-stdlib libpython3.6-minimal libpython3.6-stdlib libsigsegv2 libsm6 libsubunit-perl libtiff5 libtimedate-perl libtool libtry-tiny-perl liburi-perl libwebp6 libwebpdemux2 libwebpmux3 libwww-perl libwww-robotrules-perl libx11-6 libx11-data libxau6 libxcb1 libxdelta2 libxdmcp6 libxext6 libxml-parser-perl libxml-xpath-perl libxml2 libxmu6 libxslt1.1 libxt6 libyaml-0-2 m4 madison-lite man-db mime-support netbase openstack-pkg-tools perl-openssl-defaults 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-blockdiag 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-cryptography python-dateutil python-dbus python-debtcollector python-decorator python-deprecation python-dnspython python-docutils python-dogpile.cache python-dulwich python-enum34 python-eventlet python-extras python-fasteners python-fixtures python-flake8 python-formencode python-funcparserlib python-funcsigs python-functools32 python-future python-futurist python-glanceclient python-greenlet python-hacking python-idna python-imagesize python-iniparse python-ipaddr python-ipaddress python-ironic-lib python-ironicclient python-iso8601 python-jinja2 python-jmespath 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-memcache python-migrate python-mimeparse python-minimal python-mock python-monotonic python-mox3 python-msgpack python-munch python-netaddr python-netifaces python-neutronclient python-oauthlib python-openssl python-openstackdocstheme python-openstacksdk python-os-api-ref python-os-api-ref-common python-os-client-config python-os-service-types python-os-testr python-os-traits python-osc-lib python-oslo.cache 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-pil 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-pyperclip python-redis python-reportlab python-reportlab-accel python-repoze.lru python-requests python-requestsexceptions python-retrying python-rfc3986 python-roman python-routes python-secretstorage python-sendfile python-seqdiag python-setuptools python-simplegeneric python-simplejson python-singledispatch python-six python-sphinx python-sphinxcontrib-pecanwsme python-sphinxcontrib.httpdomain python-sphinxcontrib.seqdiag python-sqlalchemy python-sqlparse python-statsd python-stestr python-stevedore python-subunit python-swiftclient python-tempita python-tenacity python-testrepository python-testresources python-testscenarios python-testtools python-tooz python-traceback2 python-typing python-tz python-unicodecsv python-unittest2 python-urllib3 python-vine python-voluptuous python-waitress python-warlock python-webcolors python-webob python-webtest python-wrapt python-wsme python-yaml python-zake python-zope.interface python2.7 python2.7-minimal python3 python3-alembic python3-chardet python3-dateutil python3-debian python3-distutils python3-extras python3-fixtures python3-lib2to3 python3-linecache2 python3-mako python3-markupsafe python3-mimeparse python3-minimal python3-pbr python3-pkg-resources python3-six python3-sqlalchemy python3-subunit python3-testrepository python3-testtools python3-traceback2 python3-unittest2 python3.6 python3.6-minimal sbuild-build-depends-ironic-dummy sgml-base sphinx-common subunit sudo testrepository x11-common xclip xdelta xdelta3 xml-core 0 upgraded, 346 newly installed, 1 to remove and 0 not upgraded. Need to get 54.3 MB of archives. After this operation, 256 MB of additional disk space will be used. Get:1 copy:/<>/resolver-eyBBCq/apt_archive ./ sbuild-build-depends-ironic-dummy 0.invalid.0 [1532 B] Get:2 http://ftpmaster.internal/ubuntu bionic/main amd64 libpython3.6-minimal amd64 3.6.4-4 [529 kB] Get:3 http://ftpmaster.internal/ubuntu bionic/main amd64 libexpat1 amd64 2.2.5-3 [80.2 kB] Get:4 http://ftpmaster.internal/ubuntu bionic/main amd64 python3.6-minimal amd64 3.6.4-4 [1425 kB] Get:5 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-minimal amd64 3.6.4-1 [23.7 kB] Get:6 http://ftpmaster.internal/ubuntu bionic/main amd64 mime-support all 3.60ubuntu1 [30.1 kB] Get:7 http://ftpmaster.internal/ubuntu bionic/main amd64 libmpdec2 amd64 2.4.2-1 [82.6 kB] Get:8 http://ftpmaster.internal/ubuntu bionic/main amd64 libpython3.6-stdlib amd64 3.6.4-4 [1643 kB] Get:9 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-lib2to3 all 3.6.4-4 [76.9 kB] Get:10 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-distutils all 3.6.4-4 [144 kB] Get:11 http://ftpmaster.internal/ubuntu bionic/main amd64 python3.6 amd64 3.6.4-4 [181 kB] Get:12 http://ftpmaster.internal/ubuntu bionic/main amd64 libpython3-stdlib amd64 3.6.4-1 [7184 B] Get:13 http://ftpmaster.internal/ubuntu bionic/main amd64 dh-python all 2.20170125 [83.7 kB] Get:14 http://ftpmaster.internal/ubuntu bionic/main amd64 python3 amd64 3.6.4-1 [8768 B] Get:15 http://ftpmaster.internal/ubuntu bionic/main amd64 libxau6 amd64 1:1.0.8-1 [8376 B] Get:16 http://ftpmaster.internal/ubuntu bionic/main amd64 libbsd0 amd64 0.8.7-1 [41.5 kB] Get:17 http://ftpmaster.internal/ubuntu bionic/main amd64 libxdmcp6 amd64 1:1.1.2-3 [10.7 kB] Get:18 http://ftpmaster.internal/ubuntu bionic/main amd64 libxcb1 amd64 1.12-1ubuntu1 [45.2 kB] Get:19 http://ftpmaster.internal/ubuntu bionic/main amd64 libx11-data all 2:1.6.4-3 [114 kB] Get:20 http://ftpmaster.internal/ubuntu bionic/main amd64 libx11-6 amd64 2:1.6.4-3 [572 kB] Get:21 http://ftpmaster.internal/ubuntu bionic/main amd64 libxext6 amd64 2:1.3.3-1 [29.4 kB] Get:22 http://ftpmaster.internal/ubuntu bionic/main amd64 bsdmainutils amd64 11.1.2ubuntu1 [181 kB] Get:23 http://ftpmaster.internal/ubuntu bionic/main amd64 groff-base amd64 1.22.3-10 [1153 kB] Get:24 http://ftpmaster.internal/ubuntu bionic/main amd64 libpipeline1 amd64 1.5.0-1 [25.3 kB] Get:25 http://ftpmaster.internal/ubuntu bionic/main amd64 man-db amd64 2.8.2-1 [1019 kB] Get:26 http://ftpmaster.internal/ubuntu bionic/main amd64 libjpeg-turbo8 amd64 1.5.2-0ubuntu5 [110 kB] Get:27 http://ftpmaster.internal/ubuntu bionic/main amd64 x11-common all 1:7.7+19ubuntu5 [21.9 kB] Get:28 http://ftpmaster.internal/ubuntu bionic/main amd64 libice6 amd64 2:1.0.9-2 [40.2 kB] Get:29 http://ftpmaster.internal/ubuntu bionic/main amd64 libsm6 amd64 2:1.2.2-1 [15.8 kB] Get:30 http://ftpmaster.internal/ubuntu bionic/main amd64 libpython2.7-minimal amd64 2.7.14-6 [334 kB] Get:31 http://ftpmaster.internal/ubuntu bionic/main amd64 python2.7-minimal amd64 2.7.14-6 [1293 kB] Get:32 http://ftpmaster.internal/ubuntu bionic/main amd64 python-minimal amd64 2.7.14-4 [28.0 kB] Get:33 http://ftpmaster.internal/ubuntu bionic/main amd64 libpython2.7-stdlib amd64 2.7.14-6 [1911 kB] Get:34 http://ftpmaster.internal/ubuntu bionic/main amd64 python2.7 amd64 2.7.14-6 [233 kB] Get:35 http://ftpmaster.internal/ubuntu bionic/main amd64 libpython-stdlib amd64 2.7.14-4 [7540 B] Get:36 http://ftpmaster.internal/ubuntu bionic/main amd64 python amd64 2.7.14-4 [140 kB] Get:37 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pyparsing all 2.2.0+dfsg1-2 [52.1 kB] Get:38 http://ftpmaster.internal/ubuntu bionic/main amd64 libxt6 amd64 1:1.1.5-1 [160 kB] Get:39 http://ftpmaster.internal/ubuntu bionic/main amd64 libxmu6 amd64 2:1.1.2-2 [46.0 kB] Get:40 http://ftpmaster.internal/ubuntu bionic/main amd64 xclip amd64 0.12+svn84-4build1 [17.5 kB] Get:41 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pyperclip all 1.6.0-1 [9276 B] Get:42 http://ftpmaster.internal/ubuntu bionic/main amd64 python-six all 1.11.0-2 [11.3 kB] Get:43 http://ftpmaster.internal/ubuntu bionic/main amd64 python-cmd2 all 0.7.9-0ubuntu1 [34.2 kB] Get:44 http://ftpmaster.internal/ubuntu bionic/main amd64 python-posix-ipc amd64 0.9.8-2build4 [14.9 kB] Get:45 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-alabaster all 0.7.8-1 [18.4 kB] Get:46 http://ftpmaster.internal/ubuntu bionic/main amd64 python-babel-localedata all 2.4.0+dfsg.1-2ubuntu1 [3412 kB] Get:47 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pkg-resources all 38.5.2-1 [128 kB] Get:48 http://ftpmaster.internal/ubuntu bionic/main amd64 python-tz all 2018.3-2 [31.6 kB] Get:49 http://ftpmaster.internal/ubuntu bionic/main amd64 python-babel all 2.4.0+dfsg.1-2ubuntu1 [80.5 kB] Get:50 http://ftpmaster.internal/ubuntu bionic/main amd64 sgml-base all 1.29 [12.3 kB] Get:51 http://ftpmaster.internal/ubuntu bionic/main amd64 xml-core all 0.18 [21.3 kB] Get:52 http://ftpmaster.internal/ubuntu bionic/main amd64 docutils-common all 0.14+dfsg-3 [156 kB] Get:53 http://ftpmaster.internal/ubuntu bionic/main amd64 python-roman all 2.0.0-3 [8548 B] Get:54 http://ftpmaster.internal/ubuntu bionic/main amd64 python-docutils all 0.14+dfsg-3 [365 kB] Get:55 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-imagesize all 0.7.1-1 [3854 B] Get:56 http://ftpmaster.internal/ubuntu bionic/main amd64 python-markupsafe amd64 1.0-1build1 [13.0 kB] Get:57 http://ftpmaster.internal/ubuntu bionic/main amd64 python-jinja2 all 2.10-1 [94.6 kB] Get:58 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pygments all 2.2.0+dfsg-1 [577 kB] Get:59 http://ftpmaster.internal/ubuntu bionic/main amd64 python-certifi all 2018.1.18-2 [144 kB] Get:60 http://ftpmaster.internal/ubuntu bionic/main amd64 python-chardet all 3.0.4-1 [80.3 kB] Get:61 http://ftpmaster.internal/ubuntu bionic/main amd64 python-idna all 2.6-1 [32.4 kB] Get:62 http://ftpmaster.internal/ubuntu bionic/main amd64 python-urllib3 all 1.22-1 [85.1 kB] Get:63 http://ftpmaster.internal/ubuntu bionic/main amd64 python-requests all 2.18.4-2 [58.3 kB] Get:64 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-typing all 3.6.2-1 [22.2 kB] Get:65 http://ftpmaster.internal/ubuntu bionic/main amd64 libjs-jquery all 3.2.1-1 [152 kB] Get:66 http://ftpmaster.internal/ubuntu bionic/main amd64 libjs-underscore all 1.8.3~dfsg-1 [59.9 kB] Get:67 http://ftpmaster.internal/ubuntu bionic/main amd64 libjs-sphinxdoc all 1.6.7-1 [85.5 kB] Get:68 http://ftpmaster.internal/ubuntu bionic/main amd64 sphinx-common all 1.6.7-1 [420 kB] Get:69 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-sphinx all 1.6.7-1 [461 kB] Get:70 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-sphinxcontrib.httpdomain all 1.5.0-1 [14.7 kB] Get:71 http://ftpmaster.internal/ubuntu bionic/main amd64 python-concurrent.futures all 3.2.0-1 [34.2 kB] Get:72 http://ftpmaster.internal/ubuntu bionic/main amd64 python-kazoo all 2.2.1-1ubuntu1 [79.9 kB] Get:73 http://ftpmaster.internal/ubuntu bionic/main amd64 python-zope.interface amd64 4.3.2-1build2 [82.2 kB] Get:74 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pbr all 3.1.1-3ubuntu3 [53.7 kB] Get:75 http://ftpmaster.internal/ubuntu bionic/main amd64 python-fixtures all 3.0.0-2 [32.4 kB] Get:76 http://ftpmaster.internal/ubuntu bionic/main amd64 python-linecache2 all 1.0.0-3 [12.4 kB] Get:77 http://ftpmaster.internal/ubuntu bionic/main amd64 python-traceback2 all 1.4.0-4 [16.1 kB] Get:78 http://ftpmaster.internal/ubuntu bionic/main amd64 python-unittest2 all 1.1.0-6.1 [75.5 kB] Get:79 http://ftpmaster.internal/ubuntu bionic/main amd64 python-extras all 1.0.0-2 [7304 B] Get:80 http://ftpmaster.internal/ubuntu bionic/main amd64 python-mimeparse all 0.1.4-3.1 [6180 B] Get:81 http://ftpmaster.internal/ubuntu bionic/main amd64 python-testtools all 2.3.0-0ubuntu2 [124 kB] Get:82 http://ftpmaster.internal/ubuntu bionic/main amd64 python-zake all 0.1.6-1 [13.9 kB] Get:83 http://ftpmaster.internal/ubuntu bionic/main amd64 libjbig0 amd64 2.1-3.1 [26.6 kB] Get:84 http://ftpmaster.internal/ubuntu bionic/main amd64 libapt-inst2.0 amd64 1.6~beta1 [55.5 kB] Get:85 http://ftpmaster.internal/ubuntu bionic/main amd64 apt-utils amd64 1.6~beta1 [208 kB] Get:86 http://ftpmaster.internal/ubuntu bionic/main amd64 libdbus-1-3 amd64 1.12.2-1ubuntu1 [175 kB] Get:87 http://ftpmaster.internal/ubuntu bionic/main amd64 dbus amd64 1.12.2-1ubuntu1 [150 kB] Get:88 http://ftpmaster.internal/ubuntu bionic/main amd64 libmagic-mgc amd64 1:5.32-2 [184 kB] Get:89 http://ftpmaster.internal/ubuntu bionic/main amd64 libmagic1 amd64 1:5.32-2 [68.5 kB] Get:90 http://ftpmaster.internal/ubuntu bionic/main amd64 file amd64 1:5.32-2 [22.1 kB] Get:91 http://ftpmaster.internal/ubuntu bionic/main amd64 libglib2.0-0 amd64 2.55.2-2ubuntu1 [1166 kB] Get:92 http://ftpmaster.internal/ubuntu bionic/main amd64 libfreetype6 amd64 2.8.1-0.1ubuntu3 [335 kB] Get:93 http://ftpmaster.internal/ubuntu bionic/main amd64 libgraphite2-3 amd64 1.3.11-2 [78.7 kB] Get:94 http://ftpmaster.internal/ubuntu bionic/main amd64 libharfbuzz0b amd64 1.7.2-1 [232 kB] Get:95 http://ftpmaster.internal/ubuntu bionic/main amd64 libicu-le-hb0 amd64 1.0.3+git161113-4 [14.3 kB] Get:96 http://ftpmaster.internal/ubuntu bionic/main amd64 libicu60 amd64 60.2-3ubuntu1 [8066 kB] Get:97 http://ftpmaster.internal/ubuntu bionic/main amd64 libxml2 amd64 2.9.4+dfsg1-6.1ubuntu1 [662 kB] Get:98 http://ftpmaster.internal/ubuntu bionic/main amd64 libyaml-0-2 amd64 0.1.7-2ubuntu3 [47.2 kB] Get:99 http://ftpmaster.internal/ubuntu bionic/main amd64 netbase all 5.4 [12.7 kB] Get:100 http://ftpmaster.internal/ubuntu bionic/main amd64 sudo amd64 1.8.21p2-3ubuntu1 [428 kB] Get:101 http://ftpmaster.internal/ubuntu bionic/main amd64 gettext-base amd64 0.19.8.1-4ubuntu4 [49.3 kB] Get:102 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-pkg-resources all 38.5.2-1 [99.3 kB] Get:103 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-six all 1.11.0-2 [11.4 kB] Get:104 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-dateutil all 2.6.1-1 [52.3 kB] Get:105 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-markupsafe amd64 1.0-1build1 [13.5 kB] Get:106 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-mako all 1.0.7+ds1-1 [59.3 kB] Get:107 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-sqlalchemy all 1.1.11+ds1-1ubuntu1 [680 kB] Get:108 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-alembic all 0.9.3-2ubuntu1 [105 kB] Get:109 http://ftpmaster.internal/ubuntu bionic/main amd64 alembic all 0.9.3-2ubuntu1 [239 kB] Get:110 http://ftpmaster.internal/ubuntu bionic/main amd64 libsigsegv2 amd64 2.12-1 [14.7 kB] Get:111 http://ftpmaster.internal/ubuntu bionic/main amd64 m4 amd64 1.4.18-1 [197 kB] Get:112 http://ftpmaster.internal/ubuntu bionic/main amd64 autoconf all 2.69-11 [322 kB] Get:113 http://ftpmaster.internal/ubuntu bionic/main amd64 autotools-dev all 20180224.1 [39.6 kB] Get:114 http://ftpmaster.internal/ubuntu bionic/main amd64 automake all 1:1.15.1-3ubuntu1 [509 kB] Get:115 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-chardet all 3.0.4-1 [80.3 kB] Get:116 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-debian all 0.1.32 [65.4 kB] Get:117 http://ftpmaster.internal/ubuntu bionic/main amd64 autopkgtest all 5.1 [127 kB] Get:118 http://ftpmaster.internal/ubuntu bionic/main amd64 autopoint all 0.19.8.1-4ubuntu4 [412 kB] Get:119 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-iniparse all 0.4-2.2 [19.6 kB] Get:120 http://ftpmaster.internal/ubuntu bionic/universe amd64 crudini amd64 0.7-1 [12.4 kB] Get:121 http://ftpmaster.internal/ubuntu bionic/main amd64 libtool all 2.4.6-2 [194 kB] Get:122 http://ftpmaster.internal/ubuntu bionic/main amd64 dh-autoreconf all 16 [15.8 kB] Get:123 http://ftpmaster.internal/ubuntu bionic/main amd64 libarchive-zip-perl all 1.60-1 [83.9 kB] Get:124 http://ftpmaster.internal/ubuntu bionic/main amd64 libfile-stripnondeterminism-perl all 0.040-1 [13.9 kB] Get:125 http://ftpmaster.internal/ubuntu bionic/main amd64 libtimedate-perl all 2.3000-2 [37.5 kB] Get:126 http://ftpmaster.internal/ubuntu bionic/main amd64 dh-strip-nondeterminism all 0.040-1 [5196 B] Get:127 http://ftpmaster.internal/ubuntu bionic/main amd64 libcroco3 amd64 0.6.12-2 [81.3 kB] Get:128 http://ftpmaster.internal/ubuntu bionic/main amd64 gettext amd64 0.19.8.1-4ubuntu4 [894 kB] Get:129 http://ftpmaster.internal/ubuntu bionic/main amd64 intltool-debian all 0.35.0+20060710.4 [24.9 kB] Get:130 http://ftpmaster.internal/ubuntu bionic/main amd64 po-debconf all 1.0.20 [232 kB] Get:131 http://ftpmaster.internal/ubuntu bionic/main amd64 debhelper all 11.1.4ubuntu1 [900 kB] Get:132 http://ftpmaster.internal/ubuntu bionic/main amd64 formencode-i18n all 1.3.0-0ubuntu5 [3382 B] Get:133 http://ftpmaster.internal/ubuntu bionic/main amd64 libencode-locale-perl all 1.05-1 [12.3 kB] Get:134 http://ftpmaster.internal/ubuntu bionic/main amd64 libhttp-date-perl all 6.02-1 [10.4 kB] Get:135 http://ftpmaster.internal/ubuntu bionic/main amd64 libfile-listing-perl all 6.04-1 [9774 B] Get:136 http://ftpmaster.internal/ubuntu bionic/main amd64 libhtml-tagset-perl all 3.20-3 [12.1 kB] Get:137 http://ftpmaster.internal/ubuntu bionic/main amd64 liburi-perl all 1.73-1 [77.2 kB] Get:138 http://ftpmaster.internal/ubuntu bionic/main amd64 libhtml-parser-perl amd64 3.72-3build1 [85.9 kB] Get:139 http://ftpmaster.internal/ubuntu bionic/main amd64 libhtml-tree-perl all 5.07-1 [200 kB] Get:140 http://ftpmaster.internal/ubuntu bionic/main amd64 libio-html-perl all 1.001-1 [14.9 kB] Get:141 http://ftpmaster.internal/ubuntu bionic/main amd64 liblwp-mediatypes-perl all 6.02-1 [21.7 kB] Get:142 http://ftpmaster.internal/ubuntu bionic/main amd64 libhttp-message-perl all 6.14-1 [72.1 kB] Get:143 http://ftpmaster.internal/ubuntu bionic/main amd64 libhttp-cookies-perl all 6.04-1 [17.2 kB] Get:144 http://ftpmaster.internal/ubuntu bionic/main amd64 libhttp-negotiate-perl all 6.00-2 [13.4 kB] Get:145 http://ftpmaster.internal/ubuntu bionic/main amd64 perl-openssl-defaults amd64 3build1 [7012 B] Get:146 http://ftpmaster.internal/ubuntu bionic/main amd64 libnet-ssleay-perl amd64 1.84-1build1 [282 kB] Get:147 http://ftpmaster.internal/ubuntu bionic/main amd64 libio-socket-ssl-perl all 2.056-1 [172 kB] Get:148 http://ftpmaster.internal/ubuntu bionic/main amd64 libnet-http-perl all 6.17-1 [22.7 kB] Get:149 http://ftpmaster.internal/ubuntu bionic/main amd64 liblwp-protocol-https-perl all 6.07-2 [8284 B] Get:150 http://ftpmaster.internal/ubuntu bionic/main amd64 libtry-tiny-perl all 0.30-1 [20.5 kB] Get:151 http://ftpmaster.internal/ubuntu bionic/main amd64 libwww-robotrules-perl all 6.01-1 [14.1 kB] Get:152 http://ftpmaster.internal/ubuntu bionic/main amd64 libwww-perl all 6.31-1 [137 kB] Get:153 http://ftpmaster.internal/ubuntu bionic/main amd64 ieee-data all 20180204.1 [1539 kB] Get:154 http://ftpmaster.internal/ubuntu bionic/main amd64 libjpeg8 amd64 8c-2ubuntu8 [2194 B] Get:155 http://ftpmaster.internal/ubuntu bionic/universe amd64 libjs-bootstrap all 3.3.7+dfsg-2 [228 kB] Get:156 http://ftpmaster.internal/ubuntu bionic/main amd64 liblcms2-2 amd64 2.9-1 [139 kB] Get:157 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 libpq5 amd64 10.3-1 [106 kB] Get:158 http://ftpmaster.internal/ubuntu bionic/universe amd64 libsubunit-perl all 1.2.0-0ubuntu2 [6628 B] Get:159 http://ftpmaster.internal/ubuntu bionic/main amd64 libtiff5 amd64 4.0.9-4 [152 kB] Get:160 http://ftpmaster.internal/ubuntu bionic/main amd64 libwebp6 amd64 0.6.1-2 [185 kB] Get:161 http://ftpmaster.internal/ubuntu bionic/main amd64 libwebpdemux2 amd64 0.6.1-2 [9472 B] Get:162 http://ftpmaster.internal/ubuntu bionic/main amd64 libwebpmux3 amd64 0.6.1-2 [19.6 kB] Get:163 http://ftpmaster.internal/ubuntu bionic/universe amd64 libxdelta2 amd64 1.1.3-9.2 [47.7 kB] Get:164 http://ftpmaster.internal/ubuntu bionic/main amd64 libxml-parser-perl amd64 2.44-2build3 [199 kB] Get:165 http://ftpmaster.internal/ubuntu bionic/universe amd64 libxml-xpath-perl all 1.42-1 [65.8 kB] Get:166 http://ftpmaster.internal/ubuntu bionic/main amd64 libxslt1.1 amd64 1.1.29-5 [150 kB] Get:167 http://ftpmaster.internal/ubuntu bionic/universe amd64 madison-lite all 0.22 [13.7 kB] Get:168 http://ftpmaster.internal/ubuntu bionic/universe amd64 xdelta amd64 1.1.3-9.2 [24.6 kB] Get:169 http://ftpmaster.internal/ubuntu bionic/main amd64 xdelta3 amd64 3.0.11-dfsg-1ubuntu1 [68.9 kB] Get:170 http://ftpmaster.internal/ubuntu bionic/universe amd64 pristine-tar amd64 1.42 [108 kB] Get:171 http://ftpmaster.internal/ubuntu bionic/main amd64 pycadf-common all 2.7.0-0ubuntu1 [4440 B] Get:172 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-pyflakes all 1.6.0-1 [41.7 kB] Get:173 http://ftpmaster.internal/ubuntu bionic/universe amd64 pyflakes all 1.6.0-1 [3296 B] Get:174 http://ftpmaster.internal/ubuntu bionic/main amd64 python-dateutil all 2.6.1-1 [60.6 kB] Get:175 http://ftpmaster.internal/ubuntu bionic/main amd64 python-mako all 1.0.7+ds1-1 [60.1 kB] Get:176 http://ftpmaster.internal/ubuntu bionic/main amd64 python-sqlalchemy all 1.1.11+ds1-1ubuntu1 [682 kB] Get:177 http://ftpmaster.internal/ubuntu bionic/main amd64 python-alembic all 0.9.3-2ubuntu1 [105 kB] Get:178 http://ftpmaster.internal/ubuntu bionic/main amd64 python-all amd64 2.7.14-4 [1072 B] Get:179 http://ftpmaster.internal/ubuntu bionic/main amd64 python-vine all 1.1.4+dfsg-2 [15.6 kB] Get:180 http://ftpmaster.internal/ubuntu bionic/main amd64 python-amqp all 2.2.2-1 [38.9 kB] Get:181 http://ftpmaster.internal/ubuntu bionic/main amd64 python-anyjson all 0.3.3-1build1 [7096 B] Get:182 http://ftpmaster.internal/ubuntu bionic/main amd64 python-appdirs all 1.4.3-1 [10.4 kB] Get:183 http://ftpmaster.internal/ubuntu bionic/main amd64 python-asn1crypto all 0.24.0-1 [72.7 kB] Get:184 http://ftpmaster.internal/ubuntu bionic/main amd64 python-prettytable all 0.7.2-3 [19.6 kB] Get:185 http://ftpmaster.internal/ubuntu bionic/main amd64 python-automaton all 1.14.0-0ubuntu1 [14.9 kB] Get:186 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-bashate all 0.5.1-1 [12.6 kB] Get:187 http://ftpmaster.internal/ubuntu bionic/main amd64 python-blinker all 1.4+dfsg1-0.1 [13.0 kB] Get:188 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-funcparserlib all 0.3.6-7 [14.4 kB] Get:189 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pil amd64 5.0.0-1 [321 kB] Get:190 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-webcolors all 1.5-2 [10.5 kB] Get:191 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-reportlab-accel amd64 3.4.0-3build1 [22.8 kB] Get:192 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-reportlab all 3.4.0-3build1 [476 kB] Get:193 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-blockdiag all 1.5.3+dfsg-5.1 [70.0 kB] Get:194 http://ftpmaster.internal/ubuntu bionic/main amd64 python-bs4 all 4.6.0-1 [67.9 kB] Get:195 http://ftpmaster.internal/ubuntu bionic/main amd64 python-cachetools all 2.0.0-2 [9072 B] Get:196 http://ftpmaster.internal/ubuntu bionic/main amd64 python-cffi-backend amd64 1.11.5-1 [63.4 kB] Get:197 http://ftpmaster.internal/ubuntu bionic/main amd64 python-iso8601 all 0.1.11-1 [12.8 kB] Get:198 http://ftpmaster.internal/ubuntu bionic/main amd64 python-lxml amd64 4.1.0-1 [1124 kB] Get:199 http://ftpmaster.internal/ubuntu bionic/main amd64 python-enum34 all 1.1.6-2 [34.8 kB] Get:200 http://ftpmaster.internal/ubuntu bionic/main amd64 python-ipaddress all 1.0.17-1 [18.2 kB] Get:201 http://ftpmaster.internal/ubuntu bionic/main amd64 python-cryptography amd64 2.1.4-1ubuntu1.1 [220 kB] Get:202 http://ftpmaster.internal/ubuntu bionic/main amd64 python-jwt all 1.5.3+ds1-1 [15.8 kB] Get:203 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oauthlib all 2.0.6-1 [70.3 kB] Get:204 http://ftpmaster.internal/ubuntu bionic/main amd64 python-stevedore all 1:1.28.0-0ubuntu1 [18.5 kB] Get:205 http://ftpmaster.internal/ubuntu bionic/main amd64 python-keystoneauth1 all 3.4.0-0ubuntu1 [142 kB] Get:206 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.i18n all 3.19.0-0ubuntu1 [21.2 kB] Get:207 http://ftpmaster.internal/ubuntu bionic/main amd64 python-msgpack amd64 0.5.4-0ubuntu1 [71.2 kB] Get:208 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 python-funcsigs all 1.0.2-4 [13.5 kB] Get:209 http://ftpmaster.internal/ubuntu bionic/main amd64 python-wrapt amd64 1.9.0-3 [27.5 kB] Get:210 http://ftpmaster.internal/ubuntu bionic/main amd64 python-debtcollector all 1.13.0-0ubuntu1 [13.4 kB] Get:211 http://ftpmaster.internal/ubuntu bionic/main amd64 python-monotonic all 1.1-2 [5262 B] Get:212 http://ftpmaster.internal/ubuntu bionic/main amd64 python-netaddr all 0.7.19-1 [213 kB] Get:213 http://ftpmaster.internal/ubuntu bionic/main amd64 python-netifaces amd64 0.10.4-0.1build4 [16.6 kB] Get:214 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.utils all 3.35.0-0ubuntu1 [56.4 kB] Get:215 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.serialization all 2.24.0-0ubuntu2 [15.0 kB] Get:216 http://ftpmaster.internal/ubuntu bionic/main amd64 python-simplejson amd64 3.13.2-1 [61.2 kB] Get:217 http://ftpmaster.internal/ubuntu bionic/main amd64 python-cinderclient all 1:3.5.0-0ubuntu1 [143 kB] Get:218 http://ftpmaster.internal/ubuntu bionic/main amd64 python-unicodecsv all 0.14.1-1 [11.3 kB] Get:219 http://ftpmaster.internal/ubuntu bionic/main amd64 python-yaml amd64 3.12-1build2 [115 kB] Get:220 http://ftpmaster.internal/ubuntu bionic/main amd64 python-cliff all 2.11.0-0ubuntu2 [40.0 kB] Get:221 http://ftpmaster.internal/ubuntu bionic/main amd64 python-configparser all 3.5.0-1 [59.6 kB] Get:222 http://ftpmaster.internal/ubuntu bionic/main amd64 python-contextlib2 all 0.5.5-1 [10.3 kB] Get:223 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-coverage amd64 4.5+dfsg.1-3 [106 kB] Get:224 http://ftpmaster.internal/ubuntu bionic/main amd64 python-dbus amd64 1.2.6-1 [90.2 kB] Get:225 http://ftpmaster.internal/ubuntu bionic/main amd64 python-decorator all 4.1.2-1 [9300 B] Get:226 http://ftpmaster.internal/ubuntu bionic/main amd64 python-deprecation all 1.0.1-0ubuntu1 [7022 B] Get:227 http://ftpmaster.internal/ubuntu bionic/main amd64 python-dnspython all 1.15.0-1 [84.9 kB] Get:228 http://ftpmaster.internal/ubuntu bionic/main amd64 python-dogpile.cache all 0.6.2-5 [33.3 kB] Get:229 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-dulwich amd64 0.18.5-1 [216 kB] Get:230 http://ftpmaster.internal/ubuntu bionic/main amd64 python-greenlet amd64 0.4.12-2 [18.0 kB] Get:231 http://ftpmaster.internal/ubuntu bionic/main amd64 python-eventlet all 0.20.0-4 [224 kB] Get:232 http://ftpmaster.internal/ubuntu bionic/main amd64 python-fasteners all 0.12.0-3 [13.4 kB] Get:233 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-mccabe all 0.6.1-2 [8092 B] Get:234 http://ftpmaster.internal/ubuntu bionic/main amd64 python-setuptools all 38.5.2-1 [267 kB] Get:235 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-pycodestyle all 2.3.1-2 [32.9 kB] Get:236 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-flake8 all 3.5.0-1 [50.7 kB] Get:237 http://ftpmaster.internal/ubuntu bionic/main amd64 python-formencode all 1.3.0-0ubuntu5 [69.1 kB] Get:238 http://ftpmaster.internal/ubuntu bionic/main amd64 python-functools32 all 3.2.3.2-3 [10.8 kB] Get:239 http://ftpmaster.internal/ubuntu bionic/main amd64 python-future all 0.15.2-4ubuntu1 [335 kB] Get:240 http://ftpmaster.internal/ubuntu bionic/main amd64 python-futurist all 1.6.0-0ubuntu1 [24.2 kB] Get:241 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-hacking all 0.12.0-0ubuntu1 [18.9 kB] Get:242 http://ftpmaster.internal/ubuntu bionic/main amd64 python-ipaddr all 2.2.0-1 [15.5 kB] Get:243 http://ftpmaster.internal/ubuntu bionic/main amd64 python-rfc3986 all 0.3.1-2 [14.1 kB] Get:244 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.config all 1:5.2.0-0ubuntu1 [79.7 kB] Get:245 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.concurrency all 3.25.0-0ubuntu1 [28.3 kB] Get:246 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.context all 1:2.20.0-0ubuntu1 [12.5 kB] Get:247 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pyinotify all 0.9.6-1 [24.6 kB] Get:248 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.log all 3.36.0-0ubuntu1 [40.8 kB] Get:249 http://ftpmaster.internal/ubuntu bionic/main amd64 python-tempita all 0.5.2-2 [13.9 kB] Get:250 http://ftpmaster.internal/ubuntu bionic/main amd64 python-paste all 2.0.3+dfsg-4ubuntu1 [456 kB] Get:251 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pastedeploy-tpl all 1.5.2-4 [4796 B] Get:252 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pastedeploy all 1.5.2-4 [25.6 kB] Get:253 http://ftpmaster.internal/ubuntu bionic/main amd64 python-repoze.lru all 0.7-1 [11.9 kB] Get:254 http://ftpmaster.internal/ubuntu bionic/main amd64 python-routes all 2.4.1-1 [88.3 kB] Get:255 http://ftpmaster.internal/ubuntu bionic/main amd64 python-webob all 1:1.7.3-2fakesync1 [64.3 kB] Get:256 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.service all 1.29.0-0ubuntu1 [47.0 kB] Get:257 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-ironic-lib all 2.12.0-0ubuntu1 [35.5 kB] Get:258 http://ftpmaster.internal/ubuntu bionic/main amd64 python-mock all 2.0.0-3 [47.4 kB] Get:259 http://ftpmaster.internal/ubuntu bionic/main amd64 python-jsonschema all 2.6.0-2 [31.5 kB] Get:260 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-jmespath all 0.9.3-1ubuntu1 [21.2 kB] Get:261 http://ftpmaster.internal/ubuntu bionic/main amd64 python-json-pointer all 1.10-1 [7396 B] Get:262 http://ftpmaster.internal/ubuntu bionic/main amd64 python-jsonpatch all 1.19+really1.16-1fakesync1 [13.3 kB] Get:263 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-munch all 2.2.0-1ubuntu2 [7328 B] Get:264 http://ftpmaster.internal/ubuntu bionic/main amd64 python-requestsexceptions all 1.3.0-3 [4044 B] Get:265 http://ftpmaster.internal/ubuntu bionic/main amd64 python-os-client-config all 1.29.0-0ubuntu1 [34.3 kB] Get:266 http://ftpmaster.internal/ubuntu bionic/main amd64 python-os-service-types all 1.1.0-0ubuntu2 [10.8 kB] Get:267 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 python-openstacksdk all 0.11.3+repack-0ubuntu1 [406 kB] Get:268 http://ftpmaster.internal/ubuntu bionic/main amd64 python-osc-lib all 1.9.0-0ubuntu1 [48.3 kB] Get:269 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-ironicclient all 2.2.0-0ubuntu1 [132 kB] Get:270 http://ftpmaster.internal/ubuntu bionic/main amd64 python-secretstorage all 2.3.1-2 [11.8 kB] Get:271 http://ftpmaster.internal/ubuntu bionic/main amd64 python-keyring all 10.6.0-1 [30.6 kB] Get:272 http://ftpmaster.internal/ubuntu bionic/main amd64 python-positional all 1.1.1-3 [6096 B] Get:273 http://ftpmaster.internal/ubuntu bionic/main amd64 python-keystoneclient all 1:3.15.0-0ubuntu1 [169 kB] Get:274 http://ftpmaster.internal/ubuntu bionic/main amd64 python-memcache all 1.57-2 [17.2 kB] Get:275 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.cache all 1.28.0-0ubuntu1 [31.6 kB] Get:276 http://ftpmaster.internal/ubuntu bionic/main amd64 python-kombu all 4.1.0-1 [126 kB] Get:277 http://ftpmaster.internal/ubuntu bionic/main amd64 python-statsd all 3.2.1-2 [10.4 kB] Get:278 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.middleware all 3.34.0-0ubuntu1 [30.6 kB] Get:279 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pika all 0.11.0-1 [83.3 kB] Get:280 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pika-pool all 0.1.3-1ubuntu2 [6174 B] Get:281 http://ftpmaster.internal/ubuntu bionic/main amd64 python-retrying all 1.3.3-2 [7584 B] Get:282 http://ftpmaster.internal/ubuntu bionic/main amd64 python-tenacity all 4.8.0-0ubuntu1 [12.7 kB] Get:283 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.messaging all 5.35.0-0ubuntu1 [1146 kB] Get:284 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pycadf all 2.7.0-0ubuntu1 [17.3 kB] Get:285 http://ftpmaster.internal/ubuntu bionic/main amd64 python-keystonemiddleware all 4.21.0-0ubuntu1 [71.5 kB] Get:286 http://ftpmaster.internal/ubuntu bionic/main amd64 python-logutils all 0.3.3-5 [16.7 kB] Get:287 http://ftpmaster.internal/ubuntu bionic/main amd64 python-sqlparse all 0.2.4-0.1 [28.0 kB] Get:288 http://ftpmaster.internal/ubuntu bionic/main amd64 python-migrate all 0.11.0-2 [69.6 kB] Get:289 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-mox3 all 0.24.0-0ubuntu1 [32.4 kB] Get:290 http://ftpmaster.internal/ubuntu bionic/main amd64 python-openssl all 17.5.0-1 [41.3 kB] Get:291 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-openstackdocstheme all 1.18.1-0ubuntu2 [839 kB] Get:292 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-subunit all 1.2.0-0ubuntu2 [62.2 kB] Get:293 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-extras all 1.0.0-2 [7388 B] Get:294 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-pbr all 3.1.1-3ubuntu3 [53.8 kB] Get:295 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-fixtures all 3.0.0-2 [32.4 kB] Get:296 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-linecache2 all 1.0.0-3 [12.5 kB] Get:297 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-traceback2 all 1.4.0-4 [16.1 kB] Get:298 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-unittest2 all 1.1.0-6.1 [69.2 kB] Get:299 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-mimeparse all 0.1.4-3.1 [6256 B] Get:300 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-testtools all 2.3.0-0ubuntu2 [124 kB] Get:301 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-subunit all 1.2.0-0ubuntu2 [62.0 kB] Get:302 http://ftpmaster.internal/ubuntu bionic/universe amd64 subunit all 1.2.0-0ubuntu2 [9184 B] Get:303 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-stestr all 1.1.0-0ubuntu2 [50.8 kB] Get:304 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-os-testr all 1.0.0-0ubuntu2 [28.0 kB] Get:305 http://ftpmaster.internal/ubuntu bionic/main amd64 python-os-traits all 0.5.0-0ubuntu1 [8316 B] Get:306 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.db all 4.33.0-0ubuntu1 [110 kB] Get:307 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.policy all 1.33.1-0ubuntu1 [41.9 kB] Get:308 http://ftpmaster.internal/ubuntu bionic/main amd64 python-psutil amd64 5.4.2-1 [135 kB] Get:309 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.reports all 1.26.0-0ubuntu1 [25.5 kB] Get:310 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.rootwrap all 5.13.0-0ubuntu1 [22.7 kB] Get:311 http://ftpmaster.internal/ubuntu bionic/main amd64 python-oslo.versionedobjects all 1.31.2-0ubuntu1 [55.7 kB] Get:312 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-oslosphinx-common all 4.18.0-0ubuntu1 [14.9 kB] Get:313 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-oslosphinx all 4.18.0-0ubuntu1 [18.1 kB] Get:314 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-testrepository all 0.0.20-2 [58.6 kB] Get:315 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-testscenarios all 0.4-4 [13.0 kB] Get:316 http://ftpmaster.internal/ubuntu bionic/main amd64 python3-testrepository all 0.0.20-2 [58.3 kB] Get:317 http://ftpmaster.internal/ubuntu bionic/universe amd64 testrepository all 0.0.20-2 [12.1 kB] Get:318 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-oslotest all 1:3.2.0-0ubuntu1 [17.9 kB] Get:319 http://ftpmaster.internal/ubuntu bionic/main amd64 python-ceilometerclient all 2.9.0-0ubuntu1 [64.1 kB] Get:320 http://ftpmaster.internal/ubuntu bionic/main amd64 python-osprofiler all 1.15.2-0ubuntu1 [45.8 kB] Get:321 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 python-pyasn1 all 0.4.2-3 [46.7 kB] Get:322 http://ftpmaster.internal/ubuntu bionic/main amd64 python-paramiko all 2.0.0-1 [109 kB] Get:323 http://ftpmaster.internal/ubuntu bionic/main amd64 python-simplegeneric all 0.8.1-1 [11.5 kB] Get:324 http://ftpmaster.internal/ubuntu bionic/main amd64 python-singledispatch all 3.4.0.3-2 [9848 B] Get:325 http://ftpmaster.internal/ubuntu bionic/main amd64 python-waitress all 1.0.1-1 [53.3 kB] Get:326 http://ftpmaster.internal/ubuntu bionic/main amd64 python-webtest all 2.0.28-1ubuntu1 [27.8 kB] Get:327 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pecan all 1.2.1-2 [86.1 kB] Get:328 http://ftpmaster.internal/ubuntu bionic/main amd64 python-psycopg2 amd64 2.7.4-1 [155 kB] Get:329 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pymemcache all 1.3.2-3 [22.9 kB] Get:330 http://ftpmaster.internal/ubuntu bionic/main amd64 python-pymysql all 0.8.0-1 [60.0 kB] Get:331 http://ftpmaster.internal/ubuntu bionic-proposed/main amd64 python-redis all 2.10.6-2 [47.3 kB] Get:332 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-sendfile amd64 2.0.1-1build3 [8504 B] Get:333 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-seqdiag all 0.9.5+dfsg-1 [20.8 kB] Get:334 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-sphinxcontrib-pecanwsme all 0.8.0-7 [7004 B] Get:335 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-sphinxcontrib.seqdiag all 0.8.5-1 [7726 B] Get:336 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-testresources all 2.0.0-1 [26.4 kB] Get:337 http://ftpmaster.internal/ubuntu bionic/main amd64 python-voluptuous all 0.9.3-1 [29.0 kB] Get:338 http://ftpmaster.internal/ubuntu bionic/main amd64 python-tooz all 1.59.0-0ubuntu1 [47.1 kB] Get:339 http://ftpmaster.internal/ubuntu bionic/main amd64 python-warlock all 1.2.0-2 [5696 B] Get:340 http://ftpmaster.internal/ubuntu bionic/main amd64 python-wsme all 0.9.2-0ubuntu2 [61.1 kB] Get:341 http://ftpmaster.internal/ubuntu bionic/universe amd64 openstack-pkg-tools all 72 [84.6 kB] Get:342 http://ftpmaster.internal/ubuntu bionic/main amd64 python-glanceclient all 1:2.9.1-0ubuntu1 [102 kB] Get:343 http://ftpmaster.internal/ubuntu bionic/main amd64 python-neutronclient all 1:6.7.0-0ubuntu1 [177 kB] Get:344 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-os-api-ref-common all 1.4.0-1ubuntu3 [9960 B] Get:345 http://ftpmaster.internal/ubuntu bionic/universe amd64 python-os-api-ref all 1.4.0-1ubuntu3 [22.9 kB] Get:346 http://ftpmaster.internal/ubuntu bionic/main amd64 python-swiftclient all 1:3.5.0-0ubuntu1 [61.2 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 54.3 MB in 4s (13.6 MB/s) (Reading database ... 12991 files and directories currently installed.) Removing pkg-create-dbgsym (0.73) ... Selecting previously unselected package libpython3.6-minimal:amd64. (Reading database ... 12982 files and directories currently installed.) Preparing to unpack .../00-libpython3.6-minimal_3.6.4-4_amd64.deb ... Unpacking libpython3.6-minimal:amd64 (3.6.4-4) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../01-libexpat1_2.2.5-3_amd64.deb ... Unpacking libexpat1:amd64 (2.2.5-3) ... Selecting previously unselected package python3.6-minimal. Preparing to unpack .../02-python3.6-minimal_3.6.4-4_amd64.deb ... Unpacking python3.6-minimal (3.6.4-4) ... Selecting previously unselected package python3-minimal. Preparing to unpack .../03-python3-minimal_3.6.4-1_amd64.deb ... Unpacking python3-minimal (3.6.4-1) ... Selecting previously unselected package mime-support. Preparing to unpack .../04-mime-support_3.60ubuntu1_all.deb ... Unpacking mime-support (3.60ubuntu1) ... Selecting previously unselected package libmpdec2:amd64. Preparing to unpack .../05-libmpdec2_2.4.2-1_amd64.deb ... Unpacking libmpdec2:amd64 (2.4.2-1) ... Selecting previously unselected package libpython3.6-stdlib:amd64. Preparing to unpack .../06-libpython3.6-stdlib_3.6.4-4_amd64.deb ... Unpacking libpython3.6-stdlib:amd64 (3.6.4-4) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../07-python3-lib2to3_3.6.4-4_all.deb ... Unpacking python3-lib2to3 (3.6.4-4) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../08-python3-distutils_3.6.4-4_all.deb ... Unpacking python3-distutils (3.6.4-4) ... Selecting previously unselected package python3.6. Preparing to unpack .../09-python3.6_3.6.4-4_amd64.deb ... Unpacking python3.6 (3.6.4-4) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../10-libpython3-stdlib_3.6.4-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.6.4-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../11-dh-python_2.20170125_all.deb ... Unpacking dh-python (2.20170125) ... Setting up libpython3.6-minimal:amd64 (3.6.4-4) ... Setting up libexpat1:amd64 (2.2.5-3) ... Setting up python3.6-minimal (3.6.4-4) ... Setting up python3-minimal (3.6.4-1) ... Selecting previously unselected package python3. (Reading database ... 13980 files and directories currently installed.) Preparing to unpack .../00-python3_3.6.4-1_amd64.deb ... Unpacking python3 (3.6.4-1) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../01-libxau6_1%3a1.0.8-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.8-1) ... Selecting previously unselected package libbsd0:amd64. Preparing to unpack .../02-libbsd0_0.8.7-1_amd64.deb ... Unpacking libbsd0:amd64 (0.8.7-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../03-libxdmcp6_1%3a1.1.2-3_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../04-libxcb1_1.12-1ubuntu1_amd64.deb ... Unpacking libxcb1:amd64 (1.12-1ubuntu1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../05-libx11-data_2%3a1.6.4-3_all.deb ... Unpacking libx11-data (2:1.6.4-3) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../06-libx11-6_2%3a1.6.4-3_amd64.deb ... Unpacking libx11-6:amd64 (2:1.6.4-3) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../07-libxext6_2%3a1.3.3-1_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.3-1) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../08-bsdmainutils_11.1.2ubuntu1_amd64.deb ... Unpacking bsdmainutils (11.1.2ubuntu1) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.22.3-10_amd64.deb ... Unpacking groff-base (1.22.3-10) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../10-libpipeline1_1.5.0-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.0-1) ... Selecting previously unselected package man-db. Preparing to unpack .../11-man-db_2.8.2-1_amd64.deb ... Unpacking man-db (2.8.2-1) ... Selecting previously unselected package libjpeg-turbo8:amd64. Preparing to unpack .../12-libjpeg-turbo8_1.5.2-0ubuntu5_amd64.deb ... Unpacking libjpeg-turbo8:amd64 (1.5.2-0ubuntu5) ... Selecting previously unselected package x11-common. Preparing to unpack .../13-x11-common_1%3a7.7+19ubuntu5_all.deb ... Unpacking x11-common (1:7.7+19ubuntu5) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../14-libice6_2%3a1.0.9-2_amd64.deb ... Unpacking libice6:amd64 (2:1.0.9-2) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../15-libsm6_2%3a1.2.2-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.2-1) ... Selecting previously unselected package libpython2.7-minimal:amd64. Preparing to unpack .../16-libpython2.7-minimal_2.7.14-6_amd64.deb ... Unpacking libpython2.7-minimal:amd64 (2.7.14-6) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../17-python2.7-minimal_2.7.14-6_amd64.deb ... Unpacking python2.7-minimal (2.7.14-6) ... Selecting previously unselected package python-minimal. Preparing to unpack .../18-python-minimal_2.7.14-4_amd64.deb ... Unpacking python-minimal (2.7.14-4) ... Selecting previously unselected package libpython2.7-stdlib:amd64. Preparing to unpack .../19-libpython2.7-stdlib_2.7.14-6_amd64.deb ... Unpacking libpython2.7-stdlib:amd64 (2.7.14-6) ... Selecting previously unselected package python2.7. Preparing to unpack .../20-python2.7_2.7.14-6_amd64.deb ... Unpacking python2.7 (2.7.14-6) ... Selecting previously unselected package libpython-stdlib:amd64. Preparing to unpack .../21-libpython-stdlib_2.7.14-4_amd64.deb ... Unpacking libpython-stdlib:amd64 (2.7.14-4) ... Setting up libpython2.7-minimal:amd64 (2.7.14-6) ... Setting up python2.7-minimal (2.7.14-6) ... Setting up python-minimal (2.7.14-4) ... Selecting previously unselected package python. (Reading database ... 15625 files and directories currently installed.) Preparing to unpack .../000-python_2.7.14-4_amd64.deb ... Unpacking python (2.7.14-4) ... Selecting previously unselected package python-pyparsing. Preparing to unpack .../001-python-pyparsing_2.2.0+dfsg1-2_all.deb ... Unpacking python-pyparsing (2.2.0+dfsg1-2) ... Selecting previously unselected package libxt6:amd64. Preparing to unpack .../002-libxt6_1%3a1.1.5-1_amd64.deb ... Unpacking libxt6:amd64 (1:1.1.5-1) ... Selecting previously unselected package libxmu6:amd64. Preparing to unpack .../003-libxmu6_2%3a1.1.2-2_amd64.deb ... Unpacking libxmu6:amd64 (2:1.1.2-2) ... Selecting previously unselected package xclip. Preparing to unpack .../004-xclip_0.12+svn84-4build1_amd64.deb ... Unpacking xclip (0.12+svn84-4build1) ... Selecting previously unselected package python-pyperclip. Preparing to unpack .../005-python-pyperclip_1.6.0-1_all.deb ... Unpacking python-pyperclip (1.6.0-1) ... Selecting previously unselected package python-six. Preparing to unpack .../006-python-six_1.11.0-2_all.deb ... Unpacking python-six (1.11.0-2) ... Selecting previously unselected package python-cmd2. Preparing to unpack .../007-python-cmd2_0.7.9-0ubuntu1_all.deb ... Unpacking python-cmd2 (0.7.9-0ubuntu1) ... Selecting previously unselected package python-posix-ipc. Preparing to unpack .../008-python-posix-ipc_0.9.8-2build4_amd64.deb ... Unpacking python-posix-ipc (0.9.8-2build4) ... Selecting previously unselected package python-alabaster. Preparing to unpack .../009-python-alabaster_0.7.8-1_all.deb ... Unpacking python-alabaster (0.7.8-1) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../010-python-babel-localedata_2.4.0+dfsg.1-2ubuntu1_all.deb ... Unpacking python-babel-localedata (2.4.0+dfsg.1-2ubuntu1) ... Selecting previously unselected package python-pkg-resources. Preparing to unpack .../011-python-pkg-resources_38.5.2-1_all.deb ... Unpacking python-pkg-resources (38.5.2-1) ... Selecting previously unselected package python-tz. Preparing to unpack .../012-python-tz_2018.3-2_all.deb ... Unpacking python-tz (2018.3-2) ... Selecting previously unselected package python-babel. Preparing to unpack .../013-python-babel_2.4.0+dfsg.1-2ubuntu1_all.deb ... Unpacking python-babel (2.4.0+dfsg.1-2ubuntu1) ... Selecting previously unselected package sgml-base. Preparing to unpack .../014-sgml-base_1.29_all.deb ... Unpacking sgml-base (1.29) ... Selecting previously unselected package xml-core. Preparing to unpack .../015-xml-core_0.18_all.deb ... Unpacking xml-core (0.18) ... Selecting previously unselected package docutils-common. Preparing to unpack .../016-docutils-common_0.14+dfsg-3_all.deb ... Unpacking docutils-common (0.14+dfsg-3) ... Selecting previously unselected package python-roman. Preparing to unpack .../017-python-roman_2.0.0-3_all.deb ... Unpacking python-roman (2.0.0-3) ... Selecting previously unselected package python-docutils. Preparing to unpack .../018-python-docutils_0.14+dfsg-3_all.deb ... Unpacking python-docutils (0.14+dfsg-3) ... Selecting previously unselected package python-imagesize. Preparing to unpack .../019-python-imagesize_0.7.1-1_all.deb ... Unpacking python-imagesize (0.7.1-1) ... Selecting previously unselected package python-markupsafe. Preparing to unpack .../020-python-markupsafe_1.0-1build1_amd64.deb ... Unpacking python-markupsafe (1.0-1build1) ... Selecting previously unselected package python-jinja2. Preparing to unpack .../021-python-jinja2_2.10-1_all.deb ... Unpacking python-jinja2 (2.10-1) ... Selecting previously unselected package python-pygments. Preparing to unpack .../022-python-pygments_2.2.0+dfsg-1_all.deb ... Unpacking python-pygments (2.2.0+dfsg-1) ... Selecting previously unselected package python-certifi. Preparing to unpack .../023-python-certifi_2018.1.18-2_all.deb ... Unpacking python-certifi (2018.1.18-2) ... Selecting previously unselected package python-chardet. Preparing to unpack .../024-python-chardet_3.0.4-1_all.deb ... Unpacking python-chardet (3.0.4-1) ... Selecting previously unselected package python-idna. Preparing to unpack .../025-python-idna_2.6-1_all.deb ... Unpacking python-idna (2.6-1) ... Selecting previously unselected package python-urllib3. Preparing to unpack .../026-python-urllib3_1.22-1_all.deb ... Unpacking python-urllib3 (1.22-1) ... Selecting previously unselected package python-requests. Preparing to unpack .../027-python-requests_2.18.4-2_all.deb ... Unpacking python-requests (2.18.4-2) ... Selecting previously unselected package python-typing. Preparing to unpack .../028-python-typing_3.6.2-1_all.deb ... Unpacking python-typing (3.6.2-1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../029-libjs-jquery_3.2.1-1_all.deb ... Unpacking libjs-jquery (3.2.1-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../030-libjs-underscore_1.8.3~dfsg-1_all.deb ... Unpacking libjs-underscore (1.8.3~dfsg-1) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../031-libjs-sphinxdoc_1.6.7-1_all.deb ... Unpacking libjs-sphinxdoc (1.6.7-1) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../032-sphinx-common_1.6.7-1_all.deb ... Unpacking sphinx-common (1.6.7-1) ... Selecting previously unselected package python-sphinx. Preparing to unpack .../033-python-sphinx_1.6.7-1_all.deb ... Unpacking python-sphinx (1.6.7-1) ... Selecting previously unselected package python-sphinxcontrib.httpdomain. Preparing to unpack .../034-python-sphinxcontrib.httpdomain_1.5.0-1_all.deb ... Unpacking python-sphinxcontrib.httpdomain (1.5.0-1) ... Selecting previously unselected package python-concurrent.futures. Preparing to unpack .../035-python-concurrent.futures_3.2.0-1_all.deb ... Unpacking python-concurrent.futures (3.2.0-1) ... Selecting previously unselected package python-kazoo. Preparing to unpack .../036-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 .../037-python-zope.interface_4.3.2-1build2_amd64.deb ... Unpacking python-zope.interface (4.3.2-1build2) ... Selecting previously unselected package python-pbr. Preparing to unpack .../038-python-pbr_3.1.1-3ubuntu3_all.deb ... Unpacking python-pbr (3.1.1-3ubuntu3) ... Selecting previously unselected package python-fixtures. Preparing to unpack .../039-python-fixtures_3.0.0-2_all.deb ... Unpacking python-fixtures (3.0.0-2) ... Selecting previously unselected package python-linecache2. Preparing to unpack .../040-python-linecache2_1.0.0-3_all.deb ... Unpacking python-linecache2 (1.0.0-3) ... Selecting previously unselected package python-traceback2. Preparing to unpack .../041-python-traceback2_1.4.0-4_all.deb ... Unpacking python-traceback2 (1.4.0-4) ... Selecting previously unselected package python-unittest2. Preparing to unpack .../042-python-unittest2_1.1.0-6.1_all.deb ... Unpacking python-unittest2 (1.1.0-6.1) ... Selecting previously unselected package python-extras. Preparing to unpack .../043-python-extras_1.0.0-2_all.deb ... Unpacking python-extras (1.0.0-2) ... Selecting previously unselected package python-mimeparse. Preparing to unpack .../044-python-mimeparse_0.1.4-3.1_all.deb ... Unpacking python-mimeparse (0.1.4-3.1) ... Selecting previously unselected package python-testtools. Preparing to unpack .../045-python-testtools_2.3.0-0ubuntu2_all.deb ... Unpacking python-testtools (2.3.0-0ubuntu2) ... Selecting previously unselected package python-zake. Preparing to unpack .../046-python-zake_0.1.6-1_all.deb ... Unpacking python-zake (0.1.6-1) ... Selecting previously unselected package libjbig0:amd64. Preparing to unpack .../047-libjbig0_2.1-3.1_amd64.deb ... Unpacking libjbig0:amd64 (2.1-3.1) ... Selecting previously unselected package libapt-inst2.0:amd64. Preparing to unpack .../048-libapt-inst2.0_1.6~beta1_amd64.deb ... Unpacking libapt-inst2.0:amd64 (1.6~beta1) ... Selecting previously unselected package apt-utils. Preparing to unpack .../049-apt-utils_1.6~beta1_amd64.deb ... Unpacking apt-utils (1.6~beta1) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../050-libdbus-1-3_1.12.2-1ubuntu1_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.12.2-1ubuntu1) ... Selecting previously unselected package dbus. Preparing to unpack .../051-dbus_1.12.2-1ubuntu1_amd64.deb ... Unpacking dbus (1.12.2-1ubuntu1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../052-libmagic-mgc_1%3a5.32-2_amd64.deb ... Unpacking libmagic-mgc (1:5.32-2) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../053-libmagic1_1%3a5.32-2_amd64.deb ... Unpacking libmagic1:amd64 (1:5.32-2) ... Selecting previously unselected package file. Preparing to unpack .../054-file_1%3a5.32-2_amd64.deb ... Unpacking file (1:5.32-2) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../055-libglib2.0-0_2.55.2-2ubuntu1_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.55.2-2ubuntu1) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../056-libfreetype6_2.8.1-0.1ubuntu3_amd64.deb ... Unpacking libfreetype6:amd64 (2.8.1-0.1ubuntu3) ... Selecting previously unselected package libgraphite2-3:amd64. Preparing to unpack .../057-libgraphite2-3_1.3.11-2_amd64.deb ... Unpacking libgraphite2-3:amd64 (1.3.11-2) ... Selecting previously unselected package libharfbuzz0b:amd64. Preparing to unpack .../058-libharfbuzz0b_1.7.2-1_amd64.deb ... Unpacking libharfbuzz0b:amd64 (1.7.2-1) ... Selecting previously unselected package libicu-le-hb0:amd64. Preparing to unpack .../059-libicu-le-hb0_1.0.3+git161113-4_amd64.deb ... Unpacking libicu-le-hb0:amd64 (1.0.3+git161113-4) ... Selecting previously unselected package libicu60:amd64. Preparing to unpack .../060-libicu60_60.2-3ubuntu1_amd64.deb ... Unpacking libicu60:amd64 (60.2-3ubuntu1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../061-libxml2_2.9.4+dfsg1-6.1ubuntu1_amd64.deb ... Unpacking libxml2:amd64 (2.9.4+dfsg1-6.1ubuntu1) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../062-libyaml-0-2_0.1.7-2ubuntu3_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.1.7-2ubuntu3) ... Selecting previously unselected package netbase. Preparing to unpack .../063-netbase_5.4_all.deb ... Unpacking netbase (5.4) ... Selecting previously unselected package sudo. Preparing to unpack .../064-sudo_1.8.21p2-3ubuntu1_amd64.deb ... Unpacking sudo (1.8.21p2-3ubuntu1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../065-gettext-base_0.19.8.1-4ubuntu4_amd64.deb ... Unpacking gettext-base (0.19.8.1-4ubuntu4) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../066-python3-pkg-resources_38.5.2-1_all.deb ... Unpacking python3-pkg-resources (38.5.2-1) ... Selecting previously unselected package python3-six. Preparing to unpack .../067-python3-six_1.11.0-2_all.deb ... Unpacking python3-six (1.11.0-2) ... Selecting previously unselected package python3-dateutil. Preparing to unpack .../068-python3-dateutil_2.6.1-1_all.deb ... Unpacking python3-dateutil (2.6.1-1) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../069-python3-markupsafe_1.0-1build1_amd64.deb ... Unpacking python3-markupsafe (1.0-1build1) ... Selecting previously unselected package python3-mako. Preparing to unpack .../070-python3-mako_1.0.7+ds1-1_all.deb ... Unpacking python3-mako (1.0.7+ds1-1) ... Selecting previously unselected package python3-sqlalchemy. Preparing to unpack .../071-python3-sqlalchemy_1.1.11+ds1-1ubuntu1_all.deb ... Unpacking python3-sqlalchemy (1.1.11+ds1-1ubuntu1) ... Selecting previously unselected package python3-alembic. Preparing to unpack .../072-python3-alembic_0.9.3-2ubuntu1_all.deb ... Unpacking python3-alembic (0.9.3-2ubuntu1) ... Selecting previously unselected package alembic. Preparing to unpack .../073-alembic_0.9.3-2ubuntu1_all.deb ... Unpacking alembic (0.9.3-2ubuntu1) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../074-libsigsegv2_2.12-1_amd64.deb ... Unpacking libsigsegv2:amd64 (2.12-1) ... Selecting previously unselected package m4. Preparing to unpack .../075-m4_1.4.18-1_amd64.deb ... Unpacking m4 (1.4.18-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../076-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../077-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../078-automake_1%3a1.15.1-3ubuntu1_all.deb ... Unpacking automake (1:1.15.1-3ubuntu1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../079-python3-chardet_3.0.4-1_all.deb ... Unpacking python3-chardet (3.0.4-1) ... Selecting previously unselected package python3-debian. Preparing to unpack .../080-python3-debian_0.1.32_all.deb ... Unpacking python3-debian (0.1.32) ... Selecting previously unselected package autopkgtest. Preparing to unpack .../081-autopkgtest_5.1_all.deb ... Unpacking autopkgtest (5.1) ... Selecting previously unselected package autopoint. Preparing to unpack .../082-autopoint_0.19.8.1-4ubuntu4_all.deb ... Unpacking autopoint (0.19.8.1-4ubuntu4) ... Selecting previously unselected package python-iniparse. Preparing to unpack .../083-python-iniparse_0.4-2.2_all.deb ... Unpacking python-iniparse (0.4-2.2) ... Selecting previously unselected package crudini. Preparing to unpack .../084-crudini_0.7-1_amd64.deb ... Unpacking crudini (0.7-1) ... Selecting previously unselected package libtool. Preparing to unpack .../085-libtool_2.4.6-2_all.deb ... Unpacking libtool (2.4.6-2) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../086-dh-autoreconf_16_all.deb ... Unpacking dh-autoreconf (16) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../087-libarchive-zip-perl_1.60-1_all.deb ... Unpacking libarchive-zip-perl (1.60-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../088-libfile-stripnondeterminism-perl_0.040-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (0.040-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../089-libtimedate-perl_2.3000-2_all.deb ... Unpacking libtimedate-perl (2.3000-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../090-dh-strip-nondeterminism_0.040-1_all.deb ... Unpacking dh-strip-nondeterminism (0.040-1) ... Selecting previously unselected package libcroco3:amd64. Preparing to unpack .../091-libcroco3_0.6.12-2_amd64.deb ... Unpacking libcroco3:amd64 (0.6.12-2) ... Selecting previously unselected package gettext. Preparing to unpack .../092-gettext_0.19.8.1-4ubuntu4_amd64.deb ... Unpacking gettext (0.19.8.1-4ubuntu4) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../093-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 .../094-po-debconf_1.0.20_all.deb ... Unpacking po-debconf (1.0.20) ... Selecting previously unselected package debhelper. Preparing to unpack .../095-debhelper_11.1.4ubuntu1_all.deb ... Unpacking debhelper (11.1.4ubuntu1) ... Selecting previously unselected package formencode-i18n. Preparing to unpack .../096-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 .../097-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 .../098-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 .../099-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 .../100-libhtml-tagset-perl_3.20-3_all.deb ... Unpacking libhtml-tagset-perl (3.20-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../101-liburi-perl_1.73-1_all.deb ... Unpacking liburi-perl (1.73-1) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../102-libhtml-parser-perl_3.72-3build1_amd64.deb ... Unpacking libhtml-parser-perl (3.72-3build1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../103-libhtml-tree-perl_5.07-1_all.deb ... Unpacking libhtml-tree-perl (5.07-1) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../104-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 .../105-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 .../106-libhttp-message-perl_6.14-1_all.deb ... Unpacking libhttp-message-perl (6.14-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../107-libhttp-cookies-perl_6.04-1_all.deb ... Unpacking libhttp-cookies-perl (6.04-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../108-libhttp-negotiate-perl_6.00-2_all.deb ... Unpacking libhttp-negotiate-perl (6.00-2) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../109-perl-openssl-defaults_3build1_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (3build1) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../110-libnet-ssleay-perl_1.84-1build1_amd64.deb ... Unpacking libnet-ssleay-perl (1.84-1build1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../111-libio-socket-ssl-perl_2.056-1_all.deb ... Unpacking libio-socket-ssl-perl (2.056-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../112-libnet-http-perl_6.17-1_all.deb ... Unpacking libnet-http-perl (6.17-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../113-liblwp-protocol-https-perl_6.07-2_all.deb ... Unpacking liblwp-protocol-https-perl (6.07-2) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../114-libtry-tiny-perl_0.30-1_all.deb ... Unpacking libtry-tiny-perl (0.30-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../115-libwww-robotrules-perl_6.01-1_all.deb ... Unpacking libwww-robotrules-perl (6.01-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../116-libwww-perl_6.31-1_all.deb ... Unpacking libwww-perl (6.31-1) ... Selecting previously unselected package ieee-data. Preparing to unpack .../117-ieee-data_20180204.1_all.deb ... Unpacking ieee-data (20180204.1) ... Selecting previously unselected package libjpeg8:amd64. Preparing to unpack .../118-libjpeg8_8c-2ubuntu8_amd64.deb ... Unpacking libjpeg8:amd64 (8c-2ubuntu8) ... Selecting previously unselected package libjs-bootstrap. Preparing to unpack .../119-libjs-bootstrap_3.3.7+dfsg-2_all.deb ... Unpacking libjs-bootstrap (3.3.7+dfsg-2) ... Selecting previously unselected package liblcms2-2:amd64. Preparing to unpack .../120-liblcms2-2_2.9-1_amd64.deb ... Unpacking liblcms2-2:amd64 (2.9-1) ... Selecting previously unselected package libpq5:amd64. Preparing to unpack .../121-libpq5_10.3-1_amd64.deb ... Unpacking libpq5:amd64 (10.3-1) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../122-libsubunit-perl_1.2.0-0ubuntu2_all.deb ... Unpacking libsubunit-perl (1.2.0-0ubuntu2) ... Selecting previously unselected package libtiff5:amd64. Preparing to unpack .../123-libtiff5_4.0.9-4_amd64.deb ... Unpacking libtiff5:amd64 (4.0.9-4) ... Selecting previously unselected package libwebp6:amd64. Preparing to unpack .../124-libwebp6_0.6.1-2_amd64.deb ... Unpacking libwebp6:amd64 (0.6.1-2) ... Selecting previously unselected package libwebpdemux2:amd64. Preparing to unpack .../125-libwebpdemux2_0.6.1-2_amd64.deb ... Unpacking libwebpdemux2:amd64 (0.6.1-2) ... Selecting previously unselected package libwebpmux3:amd64. Preparing to unpack .../126-libwebpmux3_0.6.1-2_amd64.deb ... Unpacking libwebpmux3:amd64 (0.6.1-2) ... Selecting previously unselected package libxdelta2. Preparing to unpack .../127-libxdelta2_1.1.3-9.2_amd64.deb ... Unpacking libxdelta2 (1.1.3-9.2) ... Selecting previously unselected package libxml-parser-perl. Preparing to unpack .../128-libxml-parser-perl_2.44-2build3_amd64.deb ... Unpacking libxml-parser-perl (2.44-2build3) ... Selecting previously unselected package libxml-xpath-perl. Preparing to unpack .../129-libxml-xpath-perl_1.42-1_all.deb ... Unpacking libxml-xpath-perl (1.42-1) ... Selecting previously unselected package libxslt1.1:amd64. Preparing to unpack .../130-libxslt1.1_1.1.29-5_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.29-5) ... Selecting previously unselected package madison-lite. Preparing to unpack .../131-madison-lite_0.22_all.deb ... Unpacking madison-lite (0.22) ... Selecting previously unselected package xdelta. Preparing to unpack .../132-xdelta_1.1.3-9.2_amd64.deb ... Unpacking xdelta (1.1.3-9.2) ... Selecting previously unselected package xdelta3. Preparing to unpack .../133-xdelta3_3.0.11-dfsg-1ubuntu1_amd64.deb ... Unpacking xdelta3 (3.0.11-dfsg-1ubuntu1) ... Selecting previously unselected package pristine-tar. Preparing to unpack .../134-pristine-tar_1.42_amd64.deb ... Unpacking pristine-tar (1.42) ... Selecting previously unselected package pycadf-common. Preparing to unpack .../135-pycadf-common_2.7.0-0ubuntu1_all.deb ... Unpacking pycadf-common (2.7.0-0ubuntu1) ... Selecting previously unselected package python-pyflakes. Preparing to unpack .../136-python-pyflakes_1.6.0-1_all.deb ... Unpacking python-pyflakes (1.6.0-1) ... Selecting previously unselected package pyflakes. Preparing to unpack .../137-pyflakes_1.6.0-1_all.deb ... Unpacking pyflakes (1.6.0-1) ... Selecting previously unselected package python-dateutil. Preparing to unpack .../138-python-dateutil_2.6.1-1_all.deb ... Unpacking python-dateutil (2.6.1-1) ... Selecting previously unselected package python-mako. Preparing to unpack .../139-python-mako_1.0.7+ds1-1_all.deb ... Unpacking python-mako (1.0.7+ds1-1) ... Selecting previously unselected package python-sqlalchemy. Preparing to unpack .../140-python-sqlalchemy_1.1.11+ds1-1ubuntu1_all.deb ... Unpacking python-sqlalchemy (1.1.11+ds1-1ubuntu1) ... Selecting previously unselected package python-alembic. Preparing to unpack .../141-python-alembic_0.9.3-2ubuntu1_all.deb ... Unpacking python-alembic (0.9.3-2ubuntu1) ... Selecting previously unselected package python-all. Preparing to unpack .../142-python-all_2.7.14-4_amd64.deb ... Unpacking python-all (2.7.14-4) ... Selecting previously unselected package python-vine. Preparing to unpack .../143-python-vine_1.1.4+dfsg-2_all.deb ... Unpacking python-vine (1.1.4+dfsg-2) ... Selecting previously unselected package python-amqp. Preparing to unpack .../144-python-amqp_2.2.2-1_all.deb ... Unpacking python-amqp (2.2.2-1) ... Selecting previously unselected package python-anyjson. Preparing to unpack .../145-python-anyjson_0.3.3-1build1_all.deb ... Unpacking python-anyjson (0.3.3-1build1) ... Selecting previously unselected package python-appdirs. Preparing to unpack .../146-python-appdirs_1.4.3-1_all.deb ... Unpacking python-appdirs (1.4.3-1) ... Selecting previously unselected package python-asn1crypto. Preparing to unpack .../147-python-asn1crypto_0.24.0-1_all.deb ... Unpacking python-asn1crypto (0.24.0-1) ... Selecting previously unselected package python-prettytable. Preparing to unpack .../148-python-prettytable_0.7.2-3_all.deb ... Unpacking python-prettytable (0.7.2-3) ... Selecting previously unselected package python-automaton. Preparing to unpack .../149-python-automaton_1.14.0-0ubuntu1_all.deb ... Unpacking python-automaton (1.14.0-0ubuntu1) ... Selecting previously unselected package python-bashate. Preparing to unpack .../150-python-bashate_0.5.1-1_all.deb ... Unpacking python-bashate (0.5.1-1) ... Selecting previously unselected package python-blinker. Preparing to unpack .../151-python-blinker_1.4+dfsg1-0.1_all.deb ... Unpacking python-blinker (1.4+dfsg1-0.1) ... Selecting previously unselected package python-funcparserlib. Preparing to unpack .../152-python-funcparserlib_0.3.6-7_all.deb ... Unpacking python-funcparserlib (0.3.6-7) ... Selecting previously unselected package python-pil:amd64. Preparing to unpack .../153-python-pil_5.0.0-1_amd64.deb ... Unpacking python-pil:amd64 (5.0.0-1) ... Selecting previously unselected package python-webcolors. Preparing to unpack .../154-python-webcolors_1.5-2_all.deb ... Unpacking python-webcolors (1.5-2) ... Selecting previously unselected package python-reportlab-accel:amd64. Preparing to unpack .../155-python-reportlab-accel_3.4.0-3build1_amd64.deb ... Unpacking python-reportlab-accel:amd64 (3.4.0-3build1) ... Selecting previously unselected package python-reportlab. Preparing to unpack .../156-python-reportlab_3.4.0-3build1_all.deb ... Unpacking python-reportlab (3.4.0-3build1) ... Selecting previously unselected package python-blockdiag. Preparing to unpack .../157-python-blockdiag_1.5.3+dfsg-5.1_all.deb ... Unpacking python-blockdiag (1.5.3+dfsg-5.1) ... Selecting previously unselected package python-bs4. Preparing to unpack .../158-python-bs4_4.6.0-1_all.deb ... Unpacking python-bs4 (4.6.0-1) ... Selecting previously unselected package python-cachetools. Preparing to unpack .../159-python-cachetools_2.0.0-2_all.deb ... Unpacking python-cachetools (2.0.0-2) ... Selecting previously unselected package python-cffi-backend. Preparing to unpack .../160-python-cffi-backend_1.11.5-1_amd64.deb ... Unpacking python-cffi-backend (1.11.5-1) ... Selecting previously unselected package python-iso8601. Preparing to unpack .../161-python-iso8601_0.1.11-1_all.deb ... Unpacking python-iso8601 (0.1.11-1) ... Selecting previously unselected package python-lxml. Preparing to unpack .../162-python-lxml_4.1.0-1_amd64.deb ... Unpacking python-lxml (4.1.0-1) ... Selecting previously unselected package python-enum34. Preparing to unpack .../163-python-enum34_1.1.6-2_all.deb ... Unpacking python-enum34 (1.1.6-2) ... Selecting previously unselected package python-ipaddress. Preparing to unpack .../164-python-ipaddress_1.0.17-1_all.deb ... Unpacking python-ipaddress (1.0.17-1) ... Selecting previously unselected package python-cryptography. Preparing to unpack .../165-python-cryptography_2.1.4-1ubuntu1.1_amd64.deb ... Unpacking python-cryptography (2.1.4-1ubuntu1.1) ... Selecting previously unselected package python-jwt. Preparing to unpack .../166-python-jwt_1.5.3+ds1-1_all.deb ... Unpacking python-jwt (1.5.3+ds1-1) ... Selecting previously unselected package python-oauthlib. Preparing to unpack .../167-python-oauthlib_2.0.6-1_all.deb ... Unpacking python-oauthlib (2.0.6-1) ... Selecting previously unselected package python-stevedore. Preparing to unpack .../168-python-stevedore_1%3a1.28.0-0ubuntu1_all.deb ... Unpacking python-stevedore (1:1.28.0-0ubuntu1) ... Selecting previously unselected package python-keystoneauth1. Preparing to unpack .../169-python-keystoneauth1_3.4.0-0ubuntu1_all.deb ... Unpacking python-keystoneauth1 (3.4.0-0ubuntu1) ... Selecting previously unselected package python-oslo.i18n. Preparing to unpack .../170-python-oslo.i18n_3.19.0-0ubuntu1_all.deb ... Unpacking python-oslo.i18n (3.19.0-0ubuntu1) ... Selecting previously unselected package python-msgpack. Preparing to unpack .../171-python-msgpack_0.5.4-0ubuntu1_amd64.deb ... Unpacking python-msgpack (0.5.4-0ubuntu1) ... Selecting previously unselected package python-funcsigs. Preparing to unpack .../172-python-funcsigs_1.0.2-4_all.deb ... Unpacking python-funcsigs (1.0.2-4) ... Selecting previously unselected package python-wrapt. Preparing to unpack .../173-python-wrapt_1.9.0-3_amd64.deb ... Unpacking python-wrapt (1.9.0-3) ... Selecting previously unselected package python-debtcollector. Preparing to unpack .../174-python-debtcollector_1.13.0-0ubuntu1_all.deb ... Unpacking python-debtcollector (1.13.0-0ubuntu1) ... Selecting previously unselected package python-monotonic. Preparing to unpack .../175-python-monotonic_1.1-2_all.deb ... Unpacking python-monotonic (1.1-2) ... Selecting previously unselected package python-netaddr. Preparing to unpack .../176-python-netaddr_0.7.19-1_all.deb ... Unpacking python-netaddr (0.7.19-1) ... Selecting previously unselected package python-netifaces. Preparing to unpack .../177-python-netifaces_0.10.4-0.1build4_amd64.deb ... Unpacking python-netifaces (0.10.4-0.1build4) ... Selecting previously unselected package python-oslo.utils. Preparing to unpack .../178-python-oslo.utils_3.35.0-0ubuntu1_all.deb ... Unpacking python-oslo.utils (3.35.0-0ubuntu1) ... Selecting previously unselected package python-oslo.serialization. Preparing to unpack .../179-python-oslo.serialization_2.24.0-0ubuntu2_all.deb ... Unpacking python-oslo.serialization (2.24.0-0ubuntu2) ... Selecting previously unselected package python-simplejson. Preparing to unpack .../180-python-simplejson_3.13.2-1_amd64.deb ... Unpacking python-simplejson (3.13.2-1) ... Selecting previously unselected package python-cinderclient. Preparing to unpack .../181-python-cinderclient_1%3a3.5.0-0ubuntu1_all.deb ... Unpacking python-cinderclient (1:3.5.0-0ubuntu1) ... Selecting previously unselected package python-unicodecsv. Preparing to unpack .../182-python-unicodecsv_0.14.1-1_all.deb ... Unpacking python-unicodecsv (0.14.1-1) ... Selecting previously unselected package python-yaml. Preparing to unpack .../183-python-yaml_3.12-1build2_amd64.deb ... Unpacking python-yaml (3.12-1build2) ... Selecting previously unselected package python-cliff. Preparing to unpack .../184-python-cliff_2.11.0-0ubuntu2_all.deb ... Unpacking python-cliff (2.11.0-0ubuntu2) ... Selecting previously unselected package python-configparser. Preparing to unpack .../185-python-configparser_3.5.0-1_all.deb ... Unpacking python-configparser (3.5.0-1) ... Selecting previously unselected package python-contextlib2. Preparing to unpack .../186-python-contextlib2_0.5.5-1_all.deb ... Unpacking python-contextlib2 (0.5.5-1) ... Selecting previously unselected package python-coverage. Preparing to unpack .../187-python-coverage_4.5+dfsg.1-3_amd64.deb ... Unpacking python-coverage (4.5+dfsg.1-3) ... Selecting previously unselected package python-dbus. Preparing to unpack .../188-python-dbus_1.2.6-1_amd64.deb ... Unpacking python-dbus (1.2.6-1) ... Selecting previously unselected package python-decorator. Preparing to unpack .../189-python-decorator_4.1.2-1_all.deb ... Unpacking python-decorator (4.1.2-1) ... Selecting previously unselected package python-deprecation. Preparing to unpack .../190-python-deprecation_1.0.1-0ubuntu1_all.deb ... Unpacking python-deprecation (1.0.1-0ubuntu1) ... Selecting previously unselected package python-dnspython. Preparing to unpack .../191-python-dnspython_1.15.0-1_all.deb ... Unpacking python-dnspython (1.15.0-1) ... Selecting previously unselected package python-dogpile.cache. Preparing to unpack .../192-python-dogpile.cache_0.6.2-5_all.deb ... Unpacking python-dogpile.cache (0.6.2-5) ... Selecting previously unselected package python-dulwich. Preparing to unpack .../193-python-dulwich_0.18.5-1_amd64.deb ... Unpacking python-dulwich (0.18.5-1) ... Selecting previously unselected package python-greenlet. Preparing to unpack .../194-python-greenlet_0.4.12-2_amd64.deb ... Unpacking python-greenlet (0.4.12-2) ... Selecting previously unselected package python-eventlet. Preparing to unpack .../195-python-eventlet_0.20.0-4_all.deb ... Unpacking python-eventlet (0.20.0-4) ... Selecting previously unselected package python-fasteners. Preparing to unpack .../196-python-fasteners_0.12.0-3_all.deb ... Unpacking python-fasteners (0.12.0-3) ... Selecting previously unselected package python-mccabe. Preparing to unpack .../197-python-mccabe_0.6.1-2_all.deb ... Unpacking python-mccabe (0.6.1-2) ... Selecting previously unselected package python-setuptools. Preparing to unpack .../198-python-setuptools_38.5.2-1_all.deb ... Unpacking python-setuptools (38.5.2-1) ... Selecting previously unselected package python-pycodestyle. Preparing to unpack .../199-python-pycodestyle_2.3.1-2_all.deb ... Unpacking python-pycodestyle (2.3.1-2) ... Selecting previously unselected package python-flake8. Preparing to unpack .../200-python-flake8_3.5.0-1_all.deb ... Unpacking python-flake8 (3.5.0-1) ... Selecting previously unselected package python-formencode. Preparing to unpack .../201-python-formencode_1.3.0-0ubuntu5_all.deb ... Unpacking python-formencode (1.3.0-0ubuntu5) ... Selecting previously unselected package python-functools32. Preparing to unpack .../202-python-functools32_3.2.3.2-3_all.deb ... Unpacking python-functools32 (3.2.3.2-3) ... Selecting previously unselected package python-future. Preparing to unpack .../203-python-future_0.15.2-4ubuntu1_all.deb ... Unpacking python-future (0.15.2-4ubuntu1) ... Selecting previously unselected package python-futurist. Preparing to unpack .../204-python-futurist_1.6.0-0ubuntu1_all.deb ... Unpacking python-futurist (1.6.0-0ubuntu1) ... Selecting previously unselected package python-hacking. Preparing to unpack .../205-python-hacking_0.12.0-0ubuntu1_all.deb ... Unpacking python-hacking (0.12.0-0ubuntu1) ... Selecting previously unselected package python-ipaddr. Preparing to unpack .../206-python-ipaddr_2.2.0-1_all.deb ... Unpacking python-ipaddr (2.2.0-1) ... Selecting previously unselected package python-rfc3986. Preparing to unpack .../207-python-rfc3986_0.3.1-2_all.deb ... Unpacking python-rfc3986 (0.3.1-2) ... Selecting previously unselected package python-oslo.config. Preparing to unpack .../208-python-oslo.config_1%3a5.2.0-0ubuntu1_all.deb ... Unpacking python-oslo.config (1:5.2.0-0ubuntu1) ... Selecting previously unselected package python-oslo.concurrency. Preparing to unpack .../209-python-oslo.concurrency_3.25.0-0ubuntu1_all.deb ... Unpacking python-oslo.concurrency (3.25.0-0ubuntu1) ... Selecting previously unselected package python-oslo.context. Preparing to unpack .../210-python-oslo.context_1%3a2.20.0-0ubuntu1_all.deb ... Unpacking python-oslo.context (1:2.20.0-0ubuntu1) ... Selecting previously unselected package python-pyinotify. Preparing to unpack .../211-python-pyinotify_0.9.6-1_all.deb ... Unpacking python-pyinotify (0.9.6-1) ... Selecting previously unselected package python-oslo.log. Preparing to unpack .../212-python-oslo.log_3.36.0-0ubuntu1_all.deb ... Unpacking python-oslo.log (3.36.0-0ubuntu1) ... Selecting previously unselected package python-tempita. Preparing to unpack .../213-python-tempita_0.5.2-2_all.deb ... Unpacking python-tempita (0.5.2-2) ... Selecting previously unselected package python-paste. Preparing to unpack .../214-python-paste_2.0.3+dfsg-4ubuntu1_all.deb ... Unpacking python-paste (2.0.3+dfsg-4ubuntu1) ... Selecting previously unselected package python-pastedeploy-tpl. Preparing to unpack .../215-python-pastedeploy-tpl_1.5.2-4_all.deb ... Unpacking python-pastedeploy-tpl (1.5.2-4) ... Selecting previously unselected package python-pastedeploy. Preparing to unpack .../216-python-pastedeploy_1.5.2-4_all.deb ... Unpacking python-pastedeploy (1.5.2-4) ... Selecting previously unselected package python-repoze.lru. Preparing to unpack .../217-python-repoze.lru_0.7-1_all.deb ... Unpacking python-repoze.lru (0.7-1) ... Selecting previously unselected package python-routes. Preparing to unpack .../218-python-routes_2.4.1-1_all.deb ... Unpacking python-routes (2.4.1-1) ... Selecting previously unselected package python-webob. Preparing to unpack .../219-python-webob_1%3a1.7.3-2fakesync1_all.deb ... Unpacking python-webob (1:1.7.3-2fakesync1) ... Selecting previously unselected package python-oslo.service. Preparing to unpack .../220-python-oslo.service_1.29.0-0ubuntu1_all.deb ... Unpacking python-oslo.service (1.29.0-0ubuntu1) ... Selecting previously unselected package python-ironic-lib. Preparing to unpack .../221-python-ironic-lib_2.12.0-0ubuntu1_all.deb ... Unpacking python-ironic-lib (2.12.0-0ubuntu1) ... Selecting previously unselected package python-mock. Preparing to unpack .../222-python-mock_2.0.0-3_all.deb ... Unpacking python-mock (2.0.0-3) ... Selecting previously unselected package python-jsonschema. Preparing to unpack .../223-python-jsonschema_2.6.0-2_all.deb ... Unpacking python-jsonschema (2.6.0-2) ... Selecting previously unselected package python-jmespath. Preparing to unpack .../224-python-jmespath_0.9.3-1ubuntu1_all.deb ... Unpacking python-jmespath (0.9.3-1ubuntu1) ... Selecting previously unselected package python-json-pointer. Preparing to unpack .../225-python-json-pointer_1.10-1_all.deb ... Unpacking python-json-pointer (1.10-1) ... Selecting previously unselected package python-jsonpatch. Preparing to unpack .../226-python-jsonpatch_1.19+really1.16-1fakesync1_all.deb ... Unpacking python-jsonpatch (1.19+really1.16-1fakesync1) ... Selecting previously unselected package python-munch. Preparing to unpack .../227-python-munch_2.2.0-1ubuntu2_all.deb ... Unpacking python-munch (2.2.0-1ubuntu2) ... Selecting previously unselected package python-requestsexceptions. Preparing to unpack .../228-python-requestsexceptions_1.3.0-3_all.deb ... Unpacking python-requestsexceptions (1.3.0-3) ... Selecting previously unselected package python-os-client-config. Preparing to unpack .../229-python-os-client-config_1.29.0-0ubuntu1_all.deb ... Unpacking python-os-client-config (1.29.0-0ubuntu1) ... Selecting previously unselected package python-os-service-types. Preparing to unpack .../230-python-os-service-types_1.1.0-0ubuntu2_all.deb ... Unpacking python-os-service-types (1.1.0-0ubuntu2) ... Selecting previously unselected package python-openstacksdk. Preparing to unpack .../231-python-openstacksdk_0.11.3+repack-0ubuntu1_all.deb ... Unpacking python-openstacksdk (0.11.3+repack-0ubuntu1) ... Selecting previously unselected package python-osc-lib. Preparing to unpack .../232-python-osc-lib_1.9.0-0ubuntu1_all.deb ... Unpacking python-osc-lib (1.9.0-0ubuntu1) ... Selecting previously unselected package python-ironicclient. Preparing to unpack .../233-python-ironicclient_2.2.0-0ubuntu1_all.deb ... Unpacking python-ironicclient (2.2.0-0ubuntu1) ... Selecting previously unselected package python-secretstorage. Preparing to unpack .../234-python-secretstorage_2.3.1-2_all.deb ... Unpacking python-secretstorage (2.3.1-2) ... Selecting previously unselected package python-keyring. Preparing to unpack .../235-python-keyring_10.6.0-1_all.deb ... Unpacking python-keyring (10.6.0-1) ... Selecting previously unselected package python-positional. Preparing to unpack .../236-python-positional_1.1.1-3_all.deb ... Unpacking python-positional (1.1.1-3) ... Selecting previously unselected package python-keystoneclient. Preparing to unpack .../237-python-keystoneclient_1%3a3.15.0-0ubuntu1_all.deb ... Unpacking python-keystoneclient (1:3.15.0-0ubuntu1) ... Selecting previously unselected package python-memcache. Preparing to unpack .../238-python-memcache_1.57-2_all.deb ... Unpacking python-memcache (1.57-2) ... Selecting previously unselected package python-oslo.cache. Preparing to unpack .../239-python-oslo.cache_1.28.0-0ubuntu1_all.deb ... Unpacking python-oslo.cache (1.28.0-0ubuntu1) ... Selecting previously unselected package python-kombu. Preparing to unpack .../240-python-kombu_4.1.0-1_all.deb ... Unpacking python-kombu (4.1.0-1) ... Selecting previously unselected package python-statsd. Preparing to unpack .../241-python-statsd_3.2.1-2_all.deb ... Unpacking python-statsd (3.2.1-2) ... Selecting previously unselected package python-oslo.middleware. Preparing to unpack .../242-python-oslo.middleware_3.34.0-0ubuntu1_all.deb ... Unpacking python-oslo.middleware (3.34.0-0ubuntu1) ... Selecting previously unselected package python-pika. Preparing to unpack .../243-python-pika_0.11.0-1_all.deb ... Unpacking python-pika (0.11.0-1) ... Selecting previously unselected package python-pika-pool. Preparing to unpack .../244-python-pika-pool_0.1.3-1ubuntu2_all.deb ... Unpacking python-pika-pool (0.1.3-1ubuntu2) ... Selecting previously unselected package python-retrying. Preparing to unpack .../245-python-retrying_1.3.3-2_all.deb ... Unpacking python-retrying (1.3.3-2) ... Selecting previously unselected package python-tenacity. Preparing to unpack .../246-python-tenacity_4.8.0-0ubuntu1_all.deb ... Unpacking python-tenacity (4.8.0-0ubuntu1) ... Selecting previously unselected package python-oslo.messaging. Preparing to unpack .../247-python-oslo.messaging_5.35.0-0ubuntu1_all.deb ... Unpacking python-oslo.messaging (5.35.0-0ubuntu1) ... Selecting previously unselected package python-pycadf. Preparing to unpack .../248-python-pycadf_2.7.0-0ubuntu1_all.deb ... Unpacking python-pycadf (2.7.0-0ubuntu1) ... Selecting previously unselected package python-keystonemiddleware. Preparing to unpack .../249-python-keystonemiddleware_4.21.0-0ubuntu1_all.deb ... Unpacking python-keystonemiddleware (4.21.0-0ubuntu1) ... Selecting previously unselected package python-logutils. Preparing to unpack .../250-python-logutils_0.3.3-5_all.deb ... Unpacking python-logutils (0.3.3-5) ... Selecting previously unselected package python-sqlparse. Preparing to unpack .../251-python-sqlparse_0.2.4-0.1_all.deb ... Unpacking python-sqlparse (0.2.4-0.1) ... Selecting previously unselected package python-migrate. Preparing to unpack .../252-python-migrate_0.11.0-2_all.deb ... Unpacking python-migrate (0.11.0-2) ... Selecting previously unselected package python-mox3. Preparing to unpack .../253-python-mox3_0.24.0-0ubuntu1_all.deb ... Unpacking python-mox3 (0.24.0-0ubuntu1) ... Selecting previously unselected package python-openssl. Preparing to unpack .../254-python-openssl_17.5.0-1_all.deb ... Unpacking python-openssl (17.5.0-1) ... Selecting previously unselected package python-openstackdocstheme. Preparing to unpack .../255-python-openstackdocstheme_1.18.1-0ubuntu2_all.deb ... Unpacking python-openstackdocstheme (1.18.1-0ubuntu2) ... Selecting previously unselected package python-subunit. Preparing to unpack .../256-python-subunit_1.2.0-0ubuntu2_all.deb ... Unpacking python-subunit (1.2.0-0ubuntu2) ... Selecting previously unselected package python3-extras. Preparing to unpack .../257-python3-extras_1.0.0-2_all.deb ... Unpacking python3-extras (1.0.0-2) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../258-python3-pbr_3.1.1-3ubuntu3_all.deb ... Unpacking python3-pbr (3.1.1-3ubuntu3) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../259-python3-fixtures_3.0.0-2_all.deb ... Unpacking python3-fixtures (3.0.0-2) ... Selecting previously unselected package python3-linecache2. Preparing to unpack .../260-python3-linecache2_1.0.0-3_all.deb ... Unpacking python3-linecache2 (1.0.0-3) ... Selecting previously unselected package python3-traceback2. Preparing to unpack .../261-python3-traceback2_1.4.0-4_all.deb ... Unpacking python3-traceback2 (1.4.0-4) ... Selecting previously unselected package python3-unittest2. Preparing to unpack .../262-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 .../263-python3-mimeparse_0.1.4-3.1_all.deb ... Unpacking python3-mimeparse (0.1.4-3.1) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../264-python3-testtools_2.3.0-0ubuntu2_all.deb ... Unpacking python3-testtools (2.3.0-0ubuntu2) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../265-python3-subunit_1.2.0-0ubuntu2_all.deb ... Unpacking python3-subunit (1.2.0-0ubuntu2) ... Selecting previously unselected package subunit. Preparing to unpack .../266-subunit_1.2.0-0ubuntu2_all.deb ... Unpacking subunit (1.2.0-0ubuntu2) ... Selecting previously unselected package python-stestr. Preparing to unpack .../267-python-stestr_1.1.0-0ubuntu2_all.deb ... Unpacking python-stestr (1.1.0-0ubuntu2) ... Selecting previously unselected package python-os-testr. Preparing to unpack .../268-python-os-testr_1.0.0-0ubuntu2_all.deb ... Unpacking python-os-testr (1.0.0-0ubuntu2) ... Selecting previously unselected package python-os-traits. Preparing to unpack .../269-python-os-traits_0.5.0-0ubuntu1_all.deb ... Unpacking python-os-traits (0.5.0-0ubuntu1) ... Selecting previously unselected package python-oslo.db. Preparing to unpack .../270-python-oslo.db_4.33.0-0ubuntu1_all.deb ... Unpacking python-oslo.db (4.33.0-0ubuntu1) ... Selecting previously unselected package python-oslo.policy. Preparing to unpack .../271-python-oslo.policy_1.33.1-0ubuntu1_all.deb ... Unpacking python-oslo.policy (1.33.1-0ubuntu1) ... Selecting previously unselected package python-psutil. Preparing to unpack .../272-python-psutil_5.4.2-1_amd64.deb ... Unpacking python-psutil (5.4.2-1) ... Selecting previously unselected package python-oslo.reports. Preparing to unpack .../273-python-oslo.reports_1.26.0-0ubuntu1_all.deb ... Unpacking python-oslo.reports (1.26.0-0ubuntu1) ... Selecting previously unselected package python-oslo.rootwrap. Preparing to unpack .../274-python-oslo.rootwrap_5.13.0-0ubuntu1_all.deb ... Unpacking python-oslo.rootwrap (5.13.0-0ubuntu1) ... Selecting previously unselected package python-oslo.versionedobjects. Preparing to unpack .../275-python-oslo.versionedobjects_1.31.2-0ubuntu1_all.deb ... Unpacking python-oslo.versionedobjects (1.31.2-0ubuntu1) ... Selecting previously unselected package python-oslosphinx-common. Preparing to unpack .../276-python-oslosphinx-common_4.18.0-0ubuntu1_all.deb ... Unpacking python-oslosphinx-common (4.18.0-0ubuntu1) ... Selecting previously unselected package python-oslosphinx. Preparing to unpack .../277-python-oslosphinx_4.18.0-0ubuntu1_all.deb ... Unpacking python-oslosphinx (4.18.0-0ubuntu1) ... Selecting previously unselected package python-testrepository. Preparing to unpack .../278-python-testrepository_0.0.20-2_all.deb ... Unpacking python-testrepository (0.0.20-2) ... Selecting previously unselected package python-testscenarios. Preparing to unpack .../279-python-testscenarios_0.4-4_all.deb ... Unpacking python-testscenarios (0.4-4) ... Selecting previously unselected package python3-testrepository. Preparing to unpack .../280-python3-testrepository_0.0.20-2_all.deb ... Unpacking python3-testrepository (0.0.20-2) ... Selecting previously unselected package testrepository. Preparing to unpack .../281-testrepository_0.0.20-2_all.deb ... Unpacking testrepository (0.0.20-2) ... Selecting previously unselected package python-oslotest. Preparing to unpack .../282-python-oslotest_1%3a3.2.0-0ubuntu1_all.deb ... Unpacking python-oslotest (1:3.2.0-0ubuntu1) ... Selecting previously unselected package python-ceilometerclient. Preparing to unpack .../283-python-ceilometerclient_2.9.0-0ubuntu1_all.deb ... Unpacking python-ceilometerclient (2.9.0-0ubuntu1) ... Selecting previously unselected package python-osprofiler. Preparing to unpack .../284-python-osprofiler_1.15.2-0ubuntu1_all.deb ... Unpacking python-osprofiler (1.15.2-0ubuntu1) ... Selecting previously unselected package python-pyasn1. Preparing to unpack .../285-python-pyasn1_0.4.2-3_all.deb ... Unpacking python-pyasn1 (0.4.2-3) ... Selecting previously unselected package python-paramiko. Preparing to unpack .../286-python-paramiko_2.0.0-1_all.deb ... Unpacking python-paramiko (2.0.0-1) ... Selecting previously unselected package python-simplegeneric. Preparing to unpack .../287-python-simplegeneric_0.8.1-1_all.deb ... Unpacking python-simplegeneric (0.8.1-1) ... Selecting previously unselected package python-singledispatch. Preparing to unpack .../288-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 .../289-python-waitress_1.0.1-1_all.deb ... Unpacking python-waitress (1.0.1-1) ... Selecting previously unselected package python-webtest. Preparing to unpack .../290-python-webtest_2.0.28-1ubuntu1_all.deb ... Unpacking python-webtest (2.0.28-1ubuntu1) ... Selecting previously unselected package python-pecan. Preparing to unpack .../291-python-pecan_1.2.1-2_all.deb ... Unpacking python-pecan (1.2.1-2) ... Selecting previously unselected package python-psycopg2. Preparing to unpack .../292-python-psycopg2_2.7.4-1_amd64.deb ... Unpacking python-psycopg2 (2.7.4-1) ... Selecting previously unselected package python-pymemcache. Preparing to unpack .../293-python-pymemcache_1.3.2-3_all.deb ... Unpacking python-pymemcache (1.3.2-3) ... Selecting previously unselected package python-pymysql. Preparing to unpack .../294-python-pymysql_0.8.0-1_all.deb ... Unpacking python-pymysql (0.8.0-1) ... Selecting previously unselected package python-redis. Preparing to unpack .../295-python-redis_2.10.6-2_all.deb ... Unpacking python-redis (2.10.6-2) ... Selecting previously unselected package python-sendfile. Preparing to unpack .../296-python-sendfile_2.0.1-1build3_amd64.deb ... Unpacking python-sendfile (2.0.1-1build3) ... Selecting previously unselected package python-seqdiag. Preparing to unpack .../297-python-seqdiag_0.9.5+dfsg-1_all.deb ... Unpacking python-seqdiag (0.9.5+dfsg-1) ... Selecting previously unselected package python-sphinxcontrib-pecanwsme. Preparing to unpack .../298-python-sphinxcontrib-pecanwsme_0.8.0-7_all.deb ... Unpacking python-sphinxcontrib-pecanwsme (0.8.0-7) ... Selecting previously unselected package python-sphinxcontrib.seqdiag. Preparing to unpack .../299-python-sphinxcontrib.seqdiag_0.8.5-1_all.deb ... Unpacking python-sphinxcontrib.seqdiag (0.8.5-1) ... Selecting previously unselected package python-testresources. Preparing to unpack .../300-python-testresources_2.0.0-1_all.deb ... Unpacking python-testresources (2.0.0-1) ... Selecting previously unselected package python-voluptuous. Preparing to unpack .../301-python-voluptuous_0.9.3-1_all.deb ... Unpacking python-voluptuous (0.9.3-1) ... Selecting previously unselected package python-tooz. Preparing to unpack .../302-python-tooz_1.59.0-0ubuntu1_all.deb ... Unpacking python-tooz (1.59.0-0ubuntu1) ... Selecting previously unselected package python-warlock. Preparing to unpack .../303-python-warlock_1.2.0-2_all.deb ... Unpacking python-warlock (1.2.0-2) ... Selecting previously unselected package python-wsme. Preparing to unpack .../304-python-wsme_0.9.2-0ubuntu2_all.deb ... Unpacking python-wsme (0.9.2-0ubuntu2) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../305-openstack-pkg-tools_72_all.deb ... Unpacking openstack-pkg-tools (72) ... Selecting previously unselected package python-glanceclient. Preparing to unpack .../306-python-glanceclient_1%3a2.9.1-0ubuntu1_all.deb ... Unpacking python-glanceclient (1:2.9.1-0ubuntu1) ... Selecting previously unselected package python-neutronclient. Preparing to unpack .../307-python-neutronclient_1%3a6.7.0-0ubuntu1_all.deb ... Unpacking python-neutronclient (1:6.7.0-0ubuntu1) ... Selecting previously unselected package python-os-api-ref-common. Preparing to unpack .../308-python-os-api-ref-common_1.4.0-1ubuntu3_all.deb ... Unpacking python-os-api-ref-common (1.4.0-1ubuntu3) ... Selecting previously unselected package python-os-api-ref. Preparing to unpack .../309-python-os-api-ref_1.4.0-1ubuntu3_all.deb ... Unpacking python-os-api-ref (1.4.0-1ubuntu3) ... Selecting previously unselected package python-swiftclient. Preparing to unpack .../310-python-swiftclient_1%3a3.5.0-0ubuntu1_all.deb ... Unpacking python-swiftclient (1:3.5.0-0ubuntu1) ... Selecting previously unselected package sbuild-build-depends-ironic-dummy. Preparing to unpack .../311-sbuild-build-depends-ironic-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-ironic-dummy (0.invalid.0) ... Setting up libhtml-tagset-perl (3.20-3) ... Setting up libjs-jquery (3.2.1-1) ... Setting up madison-lite (0.22) ... Setting up libapt-inst2.0:amd64 (1.6~beta1) ... Setting up libtry-tiny-perl (0.30-1) ... Setting up libarchive-zip-perl (1.60-1) ... Setting up libjs-underscore (1.8.3~dfsg-1) ... Setting up mime-support (3.60ubuntu1) ... Setting up libencode-locale-perl (1.05-1) ... Setting up sudo (1.8.21p2-3ubuntu1) ... Setting up libtimedate-perl (2.3000-2) ... Setting up liblcms2-2:amd64 (2.9-1) ... Setting up libjbig0:amd64 (2.1-3.1) ... Setting up libsigsegv2:amd64 (2.12-1) ... Setting up apt-utils (1.6~beta1) ... Setting up perl-openssl-defaults:amd64 (3build1) ... Setting up groff-base (1.22.3-10) ... Setting up libglib2.0-0:amd64 (2.55.2-2ubuntu1) ... No schema files found: doing nothing. Setting up libio-html-perl (1.001-1) ... Setting up formencode-i18n (1.3.0-0ubuntu5) ... Setting up libjs-sphinxdoc (1.6.7-1) ... Setting up gettext-base (0.19.8.1-4ubuntu4) ... Setting up python-oslosphinx-common (4.18.0-0ubuntu1) ... Setting up libjpeg-turbo8:amd64 (1.5.2-0ubuntu5) ... Setting up libpipeline1:amd64 (1.5.0-1) ... Setting up m4 (1.4.18-1) ... Setting up sgml-base (1.29) ... Setting up libbsd0:amd64 (0.8.7-1) ... Setting up libfreetype6:amd64 (2.8.1-0.1ubuntu3) ... Setting up libmagic-mgc (1:5.32-2) ... Setting up libmagic1:amd64 (1:5.32-2) ... Setting up libgraphite2-3:amd64 (1.3.11-2) ... Setting up libyaml-0-2:amd64 (0.1.7-2ubuntu3) ... Setting up pycadf-common (2.7.0-0ubuntu1) ... Setting up libpq5:amd64 (10.3-1) ... Setting up liblwp-mediatypes-perl (6.02-1) ... Processing triggers for libc-bin (2.27-0ubuntu2) ... Setting up autotools-dev (20180224.1) ... Setting up liburi-perl (1.73-1) ... Setting up python-babel-localedata (2.4.0+dfsg.1-2ubuntu1) ... Processing triggers for systemd (237-3ubuntu4) ... Setting up libhtml-parser-perl (3.72-3build1) ... Setting up sphinx-common (1.6.7-1) ... Setting up libnet-http-perl (6.17-1) ... Setting up libjs-bootstrap (3.3.7+dfsg-2) ... Setting up libxdmcp6:amd64 (1:1.1.2-3) ... Setting up python-pastedeploy-tpl (1.5.2-4) ... Setting up xml-core (0.18) ... Setting up libsubunit-perl (1.2.0-0ubuntu2) ... Setting up bsdmainutils (11.1.2ubuntu1) ... 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 x11-common (1:7.7+19ubuntu5) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Running in chroot, ignoring request. invoke-rc.d: policy-rc.d denied execution of start. Setting up libwww-robotrules-perl (6.01-1) ... Setting up libx11-data (2:1.6.4-3) ... Setting up libpython2.7-stdlib:amd64 (2.7.14-6) ... Setting up libxau6:amd64 (1:1.0.8-1) ... Setting up autopoint (0.19.8.1-4ubuntu4) ... Setting up libmpdec2:amd64 (2.4.2-1) ... Setting up libdbus-1-3:amd64 (1.12.2-1ubuntu1) ... Setting up netbase (5.4) ... Setting up xdelta3 (3.0.11-dfsg-1ubuntu1) ... Setting up libwebp6:amd64 (0.6.1-2) ... Setting up libfile-stripnondeterminism-perl (0.040-1) ... Setting up libjpeg8:amd64 (8c-2ubuntu8) ... Setting up libpython3.6-stdlib:amd64 (3.6.4-4) ... Setting up libhttp-date-perl (6.02-1) ... Setting up python-os-api-ref-common (1.4.0-1ubuntu3) ... Setting up libxdelta2 (1.1.3-9.2) ... Setting up libnet-ssleay-perl (1.84-1build1) ... Setting up python2.7 (2.7.14-6) ... Setting up libharfbuzz0b:amd64 (1.7.2-1) ... Setting up libtiff5:amd64 (4.0.9-4) ... Setting up autoconf (2.69-11) ... Setting up file (1:5.32-2) ... Setting up libio-socket-ssl-perl (2.056-1) ... Setting up libhtml-tree-perl (5.07-1) ... Setting up libpython-stdlib:amd64 (2.7.14-4) ... Setting up libwebpmux3:amd64 (0.6.1-2) ... Setting up automake (1:1.15.1-3ubuntu1) ... update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode Setting up libice6:amd64 (2:1.0.9-2) ... Setting up libfile-listing-perl (6.04-1) ... Setting up libwebpdemux2:amd64 (0.6.1-2) ... Setting up man-db (2.8.2-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libhttp-message-perl (6.14-1) ... Setting up xdelta (1.1.3-9.2) ... Setting up dbus (1.12.2-1ubuntu1) ... Setting up libxcb1:amd64 (1.12-1ubuntu1) ... Setting up python (2.7.14-4) ... Setting up python-dogpile.cache (0.6.2-5) ... Setting up python-contextlib2 (0.5.5-1) ... Setting up python-mccabe (0.6.1-2) ... Setting up python-typing (3.6.2-1) ... Setting up python-logutils (0.3.3-5) ... Setting up libhttp-negotiate-perl (6.00-2) ... Setting up python-pyparsing (2.2.0+dfsg1-2) ... Setting up python-dnspython (1.15.0-1) ... Setting up python-linecache2 (1.0.0-3) ... Setting up python-idna (2.6-1) ... Setting up libtool (2.4.6-2) ... Setting up python-simplejson (3.13.2-1) ... Setting up libpython3-stdlib:amd64 (3.6.4-1) ... Setting up python-repoze.lru (0.7-1) ... Setting up python-json-pointer (1.10-1) ... update-alternatives: using /usr/bin/python2-jsonpointer to provide /usr/bin/jsonpointer (jsonpointer) in auto mode Setting up libsm6:amd64 (2:1.2.2-1) ... Setting up python-sqlalchemy (1.1.11+ds1-1ubuntu1) ... Setting up python-prettytable (0.7.2-3) ... Setting up python-msgpack (0.5.4-0ubuntu1) ... Setting up python-functools32 (3.2.3.2-3) ... Setting up python-yaml (3.12-1build2) ... Setting up python-asn1crypto (0.24.0-1) ... Setting up python-extras (1.0.0-2) ... Setting up python-simplegeneric (0.8.1-1) ... Setting up python-statsd (3.2.1-2) ... Setting up python-sqlparse (0.2.4-0.1) ... Setting up python-blinker (1.4+dfsg1-0.1) ... Setting up python-mimeparse (0.1.4-3.1) ... Setting up libhttp-cookies-perl (6.04-1) ... Setting up python-reportlab-accel:amd64 (3.4.0-3build1) ... Setting up python-psycopg2 (2.7.4-1) ... Setting up python-ipaddr (2.2.0-1) ... Setting up python-cachetools (2.0.0-2) ... Setting up python-pyasn1 (0.4.2-3) ... Setting up python-pymysql (0.8.0-1) ... Setting up python-monotonic (1.1-2) ... Setting up python-unicodecsv (0.14.1-1) ... Setting up python-jmespath (0.9.3-1ubuntu1) ... Setting up python-certifi (2018.1.18-2) ... Setting up python-tz (2018.3-2) ... Setting up libx11-6:amd64 (2:1.6.4-3) ... Setting up python-imagesize (0.7.1-1) ... Setting up python-pika (0.11.0-1) ... Setting up python-webob (1:1.7.3-2fakesync1) ... Setting up python-pycodestyle (2.3.1-2) ... Setting up python-vine (1.1.4+dfsg-2) ... Setting up python-deprecation (1.0.1-0ubuntu1) ... Setting up python-alabaster (0.7.8-1) ... Setting up python-waitress (1.0.1-1) ... update-alternatives: using /usr/bin/waitress-serve-python2 to provide /usr/bin/waitress-serve (waitress-serve) in auto mode Setting up python-pkg-resources (38.5.2-1) ... Setting up python-roman (2.0.0-3) ... Setting up python-jwt (1.5.3+ds1-1) ... Setting up python-markupsafe (1.0-1build1) ... Setting up python-netifaces (0.10.4-0.1build4) ... Setting up python-pyinotify (0.9.6-1) ... Setting up python-amqp (2.2.2-1) ... Setting up python-coverage (4.5+dfsg.1-3) ... Setting up python-configparser (3.5.0-1) ... Setting up python-funcparserlib (0.3.6-7) ... Setting up python-cffi-backend (1.11.5-1) ... Setting up python-dulwich (0.18.5-1) ... Setting up python-six (1.11.0-2) ... Setting up python-sendfile (2.0.1-1build3) ... Setting up python-pygments (2.2.0+dfsg-1) ... Setting up pristine-tar (1.42) ... Setting up python-bs4 (4.6.0-1) ... Setting up python-posix-ipc (0.9.8-2build4) ... Setting up python-zope.interface (4.3.2-1build2) ... Setting up python-webcolors (1.5-2) ... Setting up python-mako (1.0.7+ds1-1) ... Setting up python-psutil (5.4.2-1) ... Setting up python-pbr (3.1.1-3ubuntu3) ... update-alternatives: using /usr/bin/python2-pbr to provide /usr/bin/pbr (pbr) in auto mode Setting up python-pyflakes (1.6.0-1) ... Setting up python-jsonpatch (1.19+really1.16-1fakesync1) ... 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-appdirs (1.4.3-1) ... Setting up python-pymemcache (1.3.2-3) ... Setting up python-voluptuous (0.9.3-1) ... Setting up python-enum34 (1.1.6-2) ... Setting up python-iniparse (0.4-2.2) ... Setting up python-os-traits (0.5.0-0ubuntu1) ... Setting up python-automaton (1.14.0-0ubuntu1) ... Setting up python-funcsigs (1.0.2-4) ... Setting up libxt6:amd64 (1:1.1.5-1) ... Setting up python-greenlet (0.4.12-2) ... Setting up python-iso8601 (0.1.11-1) ... Setting up python-decorator (4.1.2-1) ... Setting up python-concurrent.futures (3.2.0-1) ... Setting up python-singledispatch (3.4.0.3-2) ... Setting up python-anyjson (0.3.3-1build1) ... Setting up python-traceback2 (1.4.0-4) ... Setting up python-dbus (1.2.6-1) ... Setting up python-tempita (0.5.2-2) ... Setting up python-ipaddress (1.0.17-1) ... Setting up python-all (2.7.14-4) ... Setting up python-pil:amd64 (5.0.0-1) ... Setting up python-rfc3986 (0.3.1-2) ... Setting up python-redis (2.10.6-2) ... Setting up python-kazoo (2.2.1-1ubuntu1) ... Setting up python-future (0.15.2-4ubuntu1) ... update-alternatives: using /usr/bin/python2-futurize to provide /usr/bin/futurize (futurize) in auto mode update-alternatives: using /usr/bin/python2-pasteurize to provide /usr/bin/pasteurize (pasteurize) in auto mode Setting up python-os-service-types (1.1.0-0ubuntu2) ... Setting up python-routes (2.4.1-1) ... Setting up python-formencode (1.3.0-0ubuntu5) ... Setting up python-wrapt (1.9.0-3) ... Setting up python-munch (2.2.0-1ubuntu2) ... Setting up python-tenacity (4.8.0-0ubuntu1) ... Setting up python-setuptools (38.5.2-1) ... Setting up python-pika-pool (0.1.3-1ubuntu2) ... Setting up python-urllib3 (1.22-1) ... Setting up python-requestsexceptions (1.3.0-3) ... Setting up python-chardet (3.0.4-1) ... Setting up python-kombu (4.1.0-1) ... Setting up python-openstackdocstheme (1.18.1-0ubuntu2) ... Setting up libxext6:amd64 (2:1.3.3-1) ... Setting up python-migrate (0.11.0-2) ... 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 crudini (0.7-1) ... Setting up python-jinja2 (2.10-1) ... Setting up python-reportlab (3.4.0-3build1) ... Setting up python-debtcollector (1.13.0-0ubuntu1) ... Setting up python-babel (2.4.0+dfsg.1-2ubuntu1) ... update-alternatives: using /usr/bin/pybabel-python2 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python-mock (2.0.0-3) ... Setting up python-paste (2.0.3+dfsg-4ubuntu1) ... Setting up python-eventlet (0.20.0-4) ... Setting up python-memcache (1.57-2) ... Setting up pyflakes (1.6.0-1) ... Setting up python-fasteners (0.12.0-3) ... Setting up libxmu6:amd64 (2:1.1.2-2) ... Setting up python-retrying (1.3.3-2) ... Setting up python-futurist (1.6.0-0ubuntu1) ... Setting up python-dateutil (2.6.1-1) ... Setting up python-stevedore (1:1.28.0-0ubuntu1) ... Setting up python-oslo.rootwrap (5.13.0-0ubuntu1) ... 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-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-cryptography (2.1.4-1ubuntu1.1) ... Setting up python-requests (2.18.4-2) ... Setting up python-positional (1.1.1-3) ... Setting up python-secretstorage (2.3.1-2) ... Setting up python-flake8 (3.5.0-1) ... Setting up python-testresources (2.0.0-1) ... Setting up python-oauthlib (2.0.6-1) ... Setting up python-keyring (10.6.0-1) ... Setting up python-oslosphinx (4.18.0-0ubuntu1) ... Setting up python-oslo.context (1:2.20.0-0ubuntu1) ... Setting up python-bashate (0.5.1-1) ... update-alternatives: using /usr/bin/python2-bashate to provide /usr/bin/bashate (bashate) in auto mode Setting up python-openssl (17.5.0-1) ... Setting up python-oslo.i18n (3.19.0-0ubuntu1) ... Setting up xclip (0.12+svn84-4build1) ... Setting up python-alembic (0.9.3-2ubuntu1) ... Setting up python-pastedeploy (1.5.2-4) ... Setting up python-hacking (0.12.0-0ubuntu1) ... Setting up python-paramiko (2.0.0-1) ... Setting up python-pyperclip (1.6.0-1) ... Setting up python-webtest (2.0.28-1ubuntu1) ... Setting up python-cmd2 (0.7.9-0ubuntu1) ... Setting up python-cliff (2.11.0-0ubuntu2) ... Setting up python-pecan (1.2.1-2) ... update-alternatives: using /usr/bin/python2-pecan to provide /usr/bin/pecan (pecan) in auto mode update-alternatives: using /usr/bin/python2-gunicorn_pecan to provide /usr/bin/gunicorn_pecan (gunicorn_pecan) in auto mode Processing triggers for sgml-base (1.29) ... Setting up docutils-common (0.14+dfsg-3) ... Processing triggers for sgml-base (1.29) ... Setting up python-docutils (0.14+dfsg-3) ... 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/rst2html4 to provide /usr/bin/rst2html4 (rst2html4) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2html5 to provide /usr/bin/rst2html5 (rst2html5) 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.6.7-1) ... Setting up python-os-api-ref (1.4.0-1ubuntu3) ... Setting up python-blockdiag (1.5.3+dfsg-5.1) ... Setting up python-seqdiag (0.9.5+dfsg-1) ... Setting up python-sphinxcontrib.httpdomain (1.5.0-1) ... Setting up python-sphinxcontrib-pecanwsme (0.8.0-7) ... Setting up python-sphinxcontrib.seqdiag (0.8.5-1) ... Setting up python3 (3.6.4-1) ... Setting up libicu-le-hb0:amd64 (1.0.3+git161113-4) ... Setting up liblwp-protocol-https-perl (6.07-2) ... Setting up python3-six (1.11.0-2) ... Setting up python3-extras (1.0.0-2) ... Setting up python3-pkg-resources (38.5.2-1) ... Setting up python3-markupsafe (1.0-1build1) ... Setting up dh-strip-nondeterminism (0.040-1) ... Setting up python3-chardet (3.0.4-1) ... Setting up python-testtools (2.3.0-0ubuntu2) ... Setting up python3-mimeparse (0.1.4-3.1) ... Setting up python-subunit (1.2.0-0ubuntu2) ... Setting up python3-lib2to3 (3.6.4-4) ... Setting up dh-python (2.20170125) ... Setting up python-zake (0.1.6-1) ... Setting up python3-debian (0.1.32) ... Setting up python3-distutils (3.6.4-4) ... Setting up python3-dateutil (2.6.1-1) ... Setting up libwww-perl (6.31-1) ... Setting up autopkgtest (5.1) ... Setting up python-jsonschema (2.6.0-2) ... update-alternatives: using /usr/bin/python2-jsonschema to provide /usr/bin/jsonschema (jsonschema) in auto mode Setting up python3-pbr (3.1.1-3ubuntu3) ... Setting up python3-linecache2 (1.0.0-3) ... Setting up python3-sqlalchemy (1.1.11+ds1-1ubuntu1) ... Setting up python-fixtures (3.0.0-2) ... Setting up libicu60:amd64 (60.2-3ubuntu1) ... Setting up python3.6 (3.6.4-4) ... Setting up ieee-data (20180204.1) ... Setting up python3-mako (1.0.7+ds1-1) ... Setting up python-netaddr (0.7.19-1) ... Setting up python-warlock (1.2.0-2) ... Setting up python3-alembic (0.9.3-2ubuntu1) ... Setting up libxml2:amd64 (2.9.4+dfsg1-6.1ubuntu1) ... Setting up python3-traceback2 (1.4.0-4) ... Setting up libcroco3:amd64 (0.6.12-2) ... Setting up python-testscenarios (0.4-4) ... Setting up libxslt1.1:amd64 (1.1.29-5) ... Setting up python-oslo.config (1:5.2.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-oslo-config-generator to provide /usr/bin/oslo-config-generator (oslo-config-generator) in auto mode Setting up python3-unittest2 (1.1.0-6.1) ... 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 libxml-parser-perl (2.44-2build3) ... Setting up python-lxml (4.1.0-1) ... Setting up python-wsme (0.9.2-0ubuntu2) ... Setting up python-mox3 (0.24.0-0ubuntu1) ... Setting up alembic (0.9.3-2ubuntu1) ... Setting up python-oslo.utils (3.35.0-0ubuntu1) ... Setting up gettext (0.19.8.1-4ubuntu4) ... Setting up python-oslo.serialization (2.24.0-0ubuntu2) ... Setting up libxml-xpath-perl (1.42-1) ... Setting up python-oslo.middleware (3.34.0-0ubuntu1) ... Setting up python-keystoneauth1 (3.4.0-0ubuntu1) ... Setting up python-oslo.db (4.33.0-0ubuntu1) ... Setting up python3-testtools (2.3.0-0ubuntu2) ... Setting up python-oslo.policy (1.33.1-0ubuntu1) ... 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 intltool-debian (0.35.0+20060710.4) ... Setting up python-cinderclient (1:3.5.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-cinder to provide /usr/bin/cinder (cinder) in auto mode Setting up python-oslo.reports (1.26.0-0ubuntu1) ... Setting up python3-fixtures (3.0.0-2) ... Setting up python-ceilometerclient (2.9.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-ceilometer to provide /usr/bin/ceilometer (ceilometer) in auto mode Setting up python-oslo.concurrency (3.25.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-lockutils-wrapper to provide /usr/bin/lockutils-wrapper (lockutils-wrapper) in auto mode Setting up python-tooz (1.59.0-0ubuntu1) ... Setting up python-oslo.log (3.36.0-0ubuntu1) ... Setting up python-os-client-config (1.29.0-0ubuntu1) ... Setting up po-debconf (1.0.20) ... Setting up python-oslo.cache (1.28.0-0ubuntu1) ... Setting up python-pycadf (2.7.0-0ubuntu1) ... Setting up python-oslo.service (1.29.0-0ubuntu1) ... Setting up python-keystoneclient (1:3.15.0-0ubuntu1) ... Setting up python3-subunit (1.2.0-0ubuntu2) ... Setting up python-glanceclient (1:2.9.1-0ubuntu1) ... update-alternatives: using /usr/bin/python2-glance to provide /usr/bin/glance (glance) in auto mode Setting up openstack-pkg-tools (72) ... Setting up subunit (1.2.0-0ubuntu2) ... Setting up python-stestr (1.1.0-0ubuntu2) ... update-alternatives: using /usr/bin/python2-stestr to provide /usr/bin/stestr (stestr) in auto mode Setting up python-oslo.messaging (5.35.0-0ubuntu1) ... 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-keystonemiddleware (4.21.0-0ubuntu1) ... Setting up python-swiftclient (1:3.5.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-swift to provide /usr/bin/swift (swift) in auto mode Setting up python-oslo.versionedobjects (1.31.2-0ubuntu1) ... Setting up python-osprofiler (1.15.2-0ubuntu1) ... update-alternatives: using /usr/bin/python2-osprofiler to provide /usr/bin/osprofiler (osprofiler) in auto mode Setting up python-ironic-lib (2.12.0-0ubuntu1) ... Setting up python-os-testr (1.0.0-0ubuntu2) ... 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 debhelper (11.1.4ubuntu1) ... Setting up python3-testrepository (0.0.20-2) ... Setting up python-openstacksdk (0.11.3+repack-0ubuntu1) ... Setting up testrepository (0.0.20-2) ... Setting up python-oslotest (1:3.2.0-0ubuntu1) ... 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 dh-autoreconf (16) ... Setting up python-osc-lib (1.9.0-0ubuntu1) ... Setting up python-neutronclient (1:6.7.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-neutron to provide /usr/bin/neutron (neutron) in auto mode Setting up python-ironicclient (2.2.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-ironic to provide /usr/bin/ironic (ironic) in auto mode Setting up sbuild-build-depends-ironic-dummy (0.invalid.0) ... (Reading database ... 30906 files and directories currently installed.) Purging configuration files for pkg-create-dbgsym (0.73) ... Processing triggers for libc-bin (2.27-0ubuntu2) ... Processing triggers for systemd (237-3ubuntu4) ... +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.4.0-101-generic amd64 (x86_64) Toolchain package versions: binutils_2.30-7ubuntu1 dpkg-dev_1.19.0.5ubuntu1 g++-7_7.3.0-11ubuntu1 gcc-7_7.3.0-11ubuntu1 libc6-dev_2.27-0ubuntu2 libstdc++-7-dev_7.3.0-11ubuntu1 libstdc++6_8-20180312-2ubuntu1 linux-libc-dev_4.15.0-12.13 Package versions: adduser_3.116ubuntu1 advancecomp_2.1-1 alembic_0.9.3-2ubuntu1 apt_1.6~beta1 apt-transport-https_1.6~beta1 apt-utils_1.6~beta1 autoconf_2.69-11 automake_1:1.15.1-3ubuntu1 autopkgtest_5.1 autopoint_0.19.8.1-4ubuntu4 autotools-dev_20180224.1 base-files_10ubuntu1 base-passwd_3.5.44 bash_4.4.18-1ubuntu1 binutils_2.30-7ubuntu1 binutils-common_2.30-7ubuntu1 binutils-x86-64-linux-gnu_2.30-7ubuntu1 bsdmainutils_11.1.2ubuntu1 bsdutils_1:2.31.1-0.4ubuntu2 build-essential_12.4ubuntu1 bzip2_1.0.6-8.1 ca-certificates_20170717 coreutils_8.28-1ubuntu1 cpp_4:7.2.0-1ubuntu1 cpp-7_7.3.0-11ubuntu1 crudini_0.7-1 dash_0.5.8-2.10 dbus_1.12.2-1ubuntu1 debconf_1.5.66 debhelper_11.1.4ubuntu1 debianutils_4.8.4 dh-autoreconf_16 dh-python_2.20170125 dh-strip-nondeterminism_0.040-1 diffutils_1:3.6-1 dirmngr_2.2.4-1ubuntu1 dmsetup_2:1.02.145-4.1ubuntu2 docutils-common_0.14+dfsg-3 dpkg_1.19.0.5ubuntu1 dpkg-dev_1.19.0.5ubuntu1 e2fslibs_1.43.9-2 e2fsprogs_1.43.9-2 fakeroot_1.22-2ubuntu1 fdisk_2.31.1-0.4ubuntu2 file_1:5.32-2 findutils_4.6.0+git+20170828-2 formencode-i18n_1.3.0-0ubuntu5 g++_4:7.2.0-1ubuntu1 g++-7_7.3.0-11ubuntu1 gcc_4:7.2.0-1ubuntu1 gcc-7_7.3.0-11ubuntu1 gcc-7-base_7.3.0-11ubuntu1 gcc-8-base_8-20180312-2ubuntu1 gettext_0.19.8.1-4ubuntu4 gettext-base_0.19.8.1-4ubuntu4 gnupg_2.2.4-1ubuntu1 gnupg-agent_2.2.4-1ubuntu1 gnupg-l10n_2.2.4-1ubuntu1 gnupg-utils_2.2.4-1ubuntu1 gpg_2.2.4-1ubuntu1 gpg-agent_2.2.4-1ubuntu1 gpg-wks-client_2.2.4-1ubuntu1 gpg-wks-server_2.2.4-1ubuntu1 gpgconf_2.2.4-1ubuntu1 gpgsm_2.2.4-1ubuntu1 gpgv_2.2.4-1ubuntu1 grep_3.1-2 groff-base_1.22.3-10 gzip_1.6-5ubuntu1 hostname_3.20 ieee-data_20180204.1 init_1.51 init-system-helpers_1.51 initscripts_2.88dsf-59.3ubuntu2 insserv_1.14.0-5ubuntu3 intltool-debian_0.35.0+20060710.4 libacl1_2.2.52-3build1 libapparmor1_2.11.0-2ubuntu19 libapt-inst2.0_1.6~beta1 libapt-pkg5.0_1.6~beta1 libarchive-zip-perl_1.60-1 libargon2-0_0~20161029-1.1 libasan4_7.3.0-11ubuntu1 libasn1-8-heimdal_7.5.0+dfsg-1 libassuan0_2.5.1-2 libatomic1_8-20180312-2ubuntu1 libattr1_1:2.4.47-2build1 libaudit-common_1:2.8.2-1ubuntu1 libaudit1_1:2.8.2-1ubuntu1 libbinutils_2.30-7ubuntu1 libblkid1_2.31.1-0.4ubuntu2 libbsd0_0.8.7-1 libbz2-1.0_1.0.6-8.1 libc-bin_2.27-0ubuntu2 libc-dev-bin_2.27-0ubuntu2 libc6_2.27-0ubuntu2 libc6-dev_2.27-0ubuntu2 libcap-ng0_0.7.7-3.1 libcap2_1:2.25-1.2 libcc1-0_8-20180312-2ubuntu1 libcilkrts5_7.3.0-11ubuntu1 libcom-err2_1.43.9-2 libcomerr2_1.43.9-2 libcroco3_0.6.12-2 libcryptsetup12_2:2.0.1-0ubuntu2 libcryptsetup4_2:1.7.3-4ubuntu1 libcurl3-gnutls_7.58.0-2ubuntu2 libdb5.3_5.3.28-13.1 libdbus-1-3_1.12.2-1ubuntu1 libdebconfclient0_0.213ubuntu1 libdevmapper1.02.1_2:1.02.145-4.1ubuntu2 libdpkg-perl_1.19.0.5ubuntu1 libencode-locale-perl_1.05-1 libexpat1_2.2.5-3 libext2fs2_1.43.9-2 libfakeroot_1.22-2ubuntu1 libfdisk1_2.31.1-0.4ubuntu2 libffi6_3.2.1-8 libfile-listing-perl_6.04-1 libfile-stripnondeterminism-perl_0.040-1 libfreetype6_2.8.1-0.1ubuntu3 libgcc-7-dev_7.3.0-11ubuntu1 libgcc1_1:8-20180312-2ubuntu1 libgcrypt20_1.8.1-4ubuntu1 libgdbm-compat4_1.14.1-4 libgdbm3_1.8.3-14 libgdbm5_1.14.1-4 libglib2.0-0_2.55.2-2ubuntu1 libgmp10_2:6.1.2+dfsg-2 libgnutls30_3.5.18-1ubuntu1 libgomp1_8-20180312-2ubuntu1 libgpg-error0_1.27-6 libgraphite2-3_1.3.11-2 libgssapi-krb5-2_1.16-2build1 libgssapi3-heimdal_7.5.0+dfsg-1 libharfbuzz0b_1.7.2-1 libhcrypto4-heimdal_7.5.0+dfsg-1 libheimbase1-heimdal_7.5.0+dfsg-1 libheimntlm0-heimdal_7.5.0+dfsg-1 libhogweed4_3.4-1 libhtml-parser-perl_3.72-3build1 libhtml-tagset-perl_3.20-3 libhtml-tree-perl_5.07-1 libhttp-cookies-perl_6.04-1 libhttp-date-perl_6.02-1 libhttp-message-perl_6.14-1 libhttp-negotiate-perl_6.00-2 libhx509-5-heimdal_7.5.0+dfsg-1 libice6_2:1.0.9-2 libicu-le-hb0_1.0.3+git161113-4 libicu60_60.2-3ubuntu1 libidn11_1.33-2.1 libidn2-0_2.0.4-1.1build2 libio-html-perl_1.001-1 libio-socket-ssl-perl_2.056-1 libip4tc0_1.6.1-2ubuntu2 libisl15_0.18-1ubuntu1 libisl19_0.19-0ubuntu1 libitm1_8-20180312-2ubuntu1 libjbig0_2.1-3.1 libjpeg-turbo8_1.5.2-0ubuntu5 libjpeg8_8c-2ubuntu8 libjs-bootstrap_3.3.7+dfsg-2 libjs-jquery_3.2.1-1 libjs-sphinxdoc_1.6.7-1 libjs-underscore_1.8.3~dfsg-1 libjson-c3_0.12.1-1.3 libk5crypto3_1.16-2build1 libkeyutils1_1.5.9-9.2ubuntu1 libkmod2_24-1ubuntu3 libkrb5-26-heimdal_7.5.0+dfsg-1 libkrb5-3_1.16-2build1 libkrb5support0_1.16-2build1 libksba8_1.3.5-2 liblcms2-2_2.9-1 libldap-2.4-2_2.4.45+dfsg-1ubuntu1 libldap-common_2.4.45+dfsg-1ubuntu1 liblockfile-bin_1.14-1.1 liblockfile1_1.14-1.1 liblsan0_8-20180312-2ubuntu1 liblwp-mediatypes-perl_6.02-1 liblwp-protocol-https-perl_6.07-2 liblz4-1_0.0~r131-2ubuntu2 liblzma5_5.2.2-1.3 libmagic-mgc_1:5.32-2 libmagic1_1:5.32-2 libmount1_2.31.1-0.4ubuntu2 libmpc3_1.1.0-1 libmpdec2_2.4.2-1 libmpfr4_3.1.6-1 libmpfr6_4.0.1-1 libmpx2_8-20180312-2ubuntu1 libncurses5_6.1-1ubuntu1 libncursesw5_6.1-1ubuntu1 libnet-http-perl_6.17-1 libnet-ssleay-perl_1.84-1build1 libnettle6_3.4-1 libnghttp2-14_1.30.0-1 libnpth0_1.5-3 libp11-kit0_0.23.9-2 libpam-modules_1.1.8-3.2ubuntu4 libpam-modules-bin_1.1.8-3.2ubuntu4 libpam-runtime_1.1.8-3.2ubuntu4 libpam0g_1.1.8-3.2ubuntu4 libpcre3_2:8.39-9 libperl5.26_5.26.1-5 libpipeline1_1.5.0-1 libpng16-16_1.6.34-1 libpq5_10.3-1 libprocps6_2:3.3.12-3ubuntu1 libpsl5_0.19.1-5build1 libpython-stdlib_2.7.14-4 libpython2.7-minimal_2.7.14-6 libpython2.7-stdlib_2.7.14-6 libpython3-stdlib_3.6.4-1 libpython3.6-minimal_3.6.4-4 libpython3.6-stdlib_3.6.4-4 libquadmath0_8-20180312-2ubuntu1 libreadline7_7.0-3 libroken18-heimdal_7.5.0+dfsg-1 librtmp1_2.4+20151223.gitfa8646d.1-1 libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu2 libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu2 libseccomp2_2.3.1-2.1ubuntu4 libselinux1_2.7-2build2 libsemanage-common_2.7-2build2 libsemanage1_2.7-2build2 libsepol1_2.7-1 libsigsegv2_2.12-1 libslang2_2.3.1a-3ubuntu1 libsm6_2:1.2.2-1 libsmartcols1_2.31.1-0.4ubuntu2 libsqlite3-0_3.22.0-1 libss2_1.43.9-2 libssl1.0.0_1.0.2n-1ubuntu4 libssl1.1_1.1.0g-2ubuntu2 libstdc++-7-dev_7.3.0-11ubuntu1 libstdc++6_8-20180312-2ubuntu1 libsubunit-perl_1.2.0-0ubuntu2 libsystemd0_237-3ubuntu4 libtasn1-6_4.13-2 libtiff5_4.0.9-4 libtimedate-perl_2.3000-2 libtinfo5_6.1-1ubuntu1 libtool_2.4.6-2 libtry-tiny-perl_0.30-1 libtsan0_8-20180312-2ubuntu1 libubsan0_7.3.0-11ubuntu1 libudev1_237-3ubuntu4 libunistring0_0.9.3-5.2ubuntu1 libunistring2_0.9.9-0ubuntu1 liburi-perl_1.73-1 libusb-0.1-4_2:0.1.12-31 libustr-1.0-1_1.0.4-6 libuuid1_2.31.1-0.4ubuntu2 libwebp6_0.6.1-2 libwebpdemux2_0.6.1-2 libwebpmux3_0.6.1-2 libwind0-heimdal_7.5.0+dfsg-1 libwww-perl_6.31-1 libwww-robotrules-perl_6.01-1 libx11-6_2:1.6.4-3 libx11-data_2:1.6.4-3 libxau6_1:1.0.8-1 libxcb1_1.12-1ubuntu1 libxdelta2_1.1.3-9.2 libxdmcp6_1:1.1.2-3 libxext6_2:1.3.3-1 libxml-parser-perl_2.44-2build3 libxml-xpath-perl_1.42-1 libxml2_2.9.4+dfsg1-6.1ubuntu1 libxmu6_2:1.1.2-2 libxslt1.1_1.1.29-5 libxt6_1:1.1.5-1 libyaml-0-2_0.1.7-2ubuntu3 linux-libc-dev_4.15.0-12.13 lockfile-progs_0.1.17build1 login_1:4.5-1ubuntu1 lsb-base_9.20170808ubuntu1 m4_1.4.18-1 madison-lite_0.22 make_4.1-9.1 man-db_2.8.2-1 mawk_1.3.3-17ubuntu2 mime-support_3.60ubuntu1 mount_2.31.1-0.4ubuntu2 multiarch-support_2.27-0ubuntu2 ncurses-base_6.1-1ubuntu1 ncurses-bin_6.1-1ubuntu1 netbase_5.4 openssl_1.1.0g-2ubuntu2 openstack-pkg-tools_72 optipng_0.7.6-1.1 passwd_1:4.5-1ubuntu1 patch_2.7.6-1 perl_5.26.1-5 perl-base_5.26.1-5 perl-modules-5.26_5.26.1-5 perl-openssl-defaults_3build1 pinentry-curses_1.1.0-1 pkgbinarymangler_135 po-debconf_1.0.20 policyrcd-script-zg2_0.1-3 pristine-tar_1.42 procps_2:3.3.12-3ubuntu1 pycadf-common_2.7.0-0ubuntu1 pyflakes_1.6.0-1 python_2.7.14-4 python-alabaster_0.7.8-1 python-alembic_0.9.3-2ubuntu1 python-all_2.7.14-4 python-amqp_2.2.2-1 python-anyjson_0.3.3-1build1 python-appdirs_1.4.3-1 python-asn1crypto_0.24.0-1 python-automaton_1.14.0-0ubuntu1 python-babel_2.4.0+dfsg.1-2ubuntu1 python-babel-localedata_2.4.0+dfsg.1-2ubuntu1 python-bashate_0.5.1-1 python-blinker_1.4+dfsg1-0.1 python-blockdiag_1.5.3+dfsg-5.1 python-bs4_4.6.0-1 python-cachetools_2.0.0-2 python-ceilometerclient_2.9.0-0ubuntu1 python-certifi_2018.1.18-2 python-cffi-backend_1.11.5-1 python-chardet_3.0.4-1 python-cinderclient_1:3.5.0-0ubuntu1 python-cliff_2.11.0-0ubuntu2 python-cmd2_0.7.9-0ubuntu1 python-concurrent.futures_3.2.0-1 python-configparser_3.5.0-1 python-contextlib2_0.5.5-1 python-coverage_4.5+dfsg.1-3 python-cryptography_2.1.4-1ubuntu1.1 python-dateutil_2.6.1-1 python-dbus_1.2.6-1 python-debtcollector_1.13.0-0ubuntu1 python-decorator_4.1.2-1 python-deprecation_1.0.1-0ubuntu1 python-dnspython_1.15.0-1 python-docutils_0.14+dfsg-3 python-dogpile.cache_0.6.2-5 python-dulwich_0.18.5-1 python-enum34_1.1.6-2 python-eventlet_0.20.0-4 python-extras_1.0.0-2 python-fasteners_0.12.0-3 python-fixtures_3.0.0-2 python-flake8_3.5.0-1 python-formencode_1.3.0-0ubuntu5 python-funcparserlib_0.3.6-7 python-funcsigs_1.0.2-4 python-functools32_3.2.3.2-3 python-future_0.15.2-4ubuntu1 python-futurist_1.6.0-0ubuntu1 python-glanceclient_1:2.9.1-0ubuntu1 python-greenlet_0.4.12-2 python-hacking_0.12.0-0ubuntu1 python-idna_2.6-1 python-imagesize_0.7.1-1 python-iniparse_0.4-2.2 python-ipaddr_2.2.0-1 python-ipaddress_1.0.17-1 python-ironic-lib_2.12.0-0ubuntu1 python-ironicclient_2.2.0-0ubuntu1 python-iso8601_0.1.11-1 python-jinja2_2.10-1 python-jmespath_0.9.3-1ubuntu1 python-json-pointer_1.10-1 python-jsonpatch_1.19+really1.16-1fakesync1 python-jsonschema_2.6.0-2 python-jwt_1.5.3+ds1-1 python-kazoo_2.2.1-1ubuntu1 python-keyring_10.6.0-1 python-keystoneauth1_3.4.0-0ubuntu1 python-keystoneclient_1:3.15.0-0ubuntu1 python-keystonemiddleware_4.21.0-0ubuntu1 python-kombu_4.1.0-1 python-linecache2_1.0.0-3 python-logutils_0.3.3-5 python-lxml_4.1.0-1 python-mako_1.0.7+ds1-1 python-markupsafe_1.0-1build1 python-mccabe_0.6.1-2 python-memcache_1.57-2 python-migrate_0.11.0-2 python-mimeparse_0.1.4-3.1 python-minimal_2.7.14-4 python-mock_2.0.0-3 python-monotonic_1.1-2 python-mox3_0.24.0-0ubuntu1 python-msgpack_0.5.4-0ubuntu1 python-munch_2.2.0-1ubuntu2 python-netaddr_0.7.19-1 python-netifaces_0.10.4-0.1build4 python-neutronclient_1:6.7.0-0ubuntu1 python-oauthlib_2.0.6-1 python-openssl_17.5.0-1 python-openstackdocstheme_1.18.1-0ubuntu2 python-openstacksdk_0.11.3+repack-0ubuntu1 python-os-api-ref_1.4.0-1ubuntu3 python-os-api-ref-common_1.4.0-1ubuntu3 python-os-client-config_1.29.0-0ubuntu1 python-os-service-types_1.1.0-0ubuntu2 python-os-testr_1.0.0-0ubuntu2 python-os-traits_0.5.0-0ubuntu1 python-osc-lib_1.9.0-0ubuntu1 python-oslo.cache_1.28.0-0ubuntu1 python-oslo.concurrency_3.25.0-0ubuntu1 python-oslo.config_1:5.2.0-0ubuntu1 python-oslo.context_1:2.20.0-0ubuntu1 python-oslo.db_4.33.0-0ubuntu1 python-oslo.i18n_3.19.0-0ubuntu1 python-oslo.log_3.36.0-0ubuntu1 python-oslo.messaging_5.35.0-0ubuntu1 python-oslo.middleware_3.34.0-0ubuntu1 python-oslo.policy_1.33.1-0ubuntu1 python-oslo.reports_1.26.0-0ubuntu1 python-oslo.rootwrap_5.13.0-0ubuntu1 python-oslo.serialization_2.24.0-0ubuntu2 python-oslo.service_1.29.0-0ubuntu1 python-oslo.utils_3.35.0-0ubuntu1 python-oslo.versionedobjects_1.31.2-0ubuntu1 python-oslosphinx_4.18.0-0ubuntu1 python-oslosphinx-common_4.18.0-0ubuntu1 python-oslotest_1:3.2.0-0ubuntu1 python-osprofiler_1.15.2-0ubuntu1 python-paramiko_2.0.0-1 python-paste_2.0.3+dfsg-4ubuntu1 python-pastedeploy_1.5.2-4 python-pastedeploy-tpl_1.5.2-4 python-pbr_3.1.1-3ubuntu3 python-pecan_1.2.1-2 python-pika_0.11.0-1 python-pika-pool_0.1.3-1ubuntu2 python-pil_5.0.0-1 python-pkg-resources_38.5.2-1 python-positional_1.1.1-3 python-posix-ipc_0.9.8-2build4 python-prettytable_0.7.2-3 python-psutil_5.4.2-1 python-psycopg2_2.7.4-1 python-pyasn1_0.4.2-3 python-pycadf_2.7.0-0ubuntu1 python-pycodestyle_2.3.1-2 python-pyflakes_1.6.0-1 python-pygments_2.2.0+dfsg-1 python-pyinotify_0.9.6-1 python-pymemcache_1.3.2-3 python-pymysql_0.8.0-1 python-pyparsing_2.2.0+dfsg1-2 python-pyperclip_1.6.0-1 python-redis_2.10.6-2 python-reportlab_3.4.0-3build1 python-reportlab-accel_3.4.0-3build1 python-repoze.lru_0.7-1 python-requests_2.18.4-2 python-requestsexceptions_1.3.0-3 python-retrying_1.3.3-2 python-rfc3986_0.3.1-2 python-roman_2.0.0-3 python-routes_2.4.1-1 python-secretstorage_2.3.1-2 python-sendfile_2.0.1-1build3 python-seqdiag_0.9.5+dfsg-1 python-setuptools_38.5.2-1 python-simplegeneric_0.8.1-1 python-simplejson_3.13.2-1 python-singledispatch_3.4.0.3-2 python-six_1.11.0-2 python-sphinx_1.6.7-1 python-sphinxcontrib-pecanwsme_0.8.0-7 python-sphinxcontrib.httpdomain_1.5.0-1 python-sphinxcontrib.seqdiag_0.8.5-1 python-sqlalchemy_1.1.11+ds1-1ubuntu1 python-sqlparse_0.2.4-0.1 python-statsd_3.2.1-2 python-stestr_1.1.0-0ubuntu2 python-stevedore_1:1.28.0-0ubuntu1 python-subunit_1.2.0-0ubuntu2 python-swiftclient_1:3.5.0-0ubuntu1 python-tempita_0.5.2-2 python-tenacity_4.8.0-0ubuntu1 python-testrepository_0.0.20-2 python-testresources_2.0.0-1 python-testscenarios_0.4-4 python-testtools_2.3.0-0ubuntu2 python-tooz_1.59.0-0ubuntu1 python-traceback2_1.4.0-4 python-typing_3.6.2-1 python-tz_2018.3-2 python-unicodecsv_0.14.1-1 python-unittest2_1.1.0-6.1 python-urllib3_1.22-1 python-vine_1.1.4+dfsg-2 python-voluptuous_0.9.3-1 python-waitress_1.0.1-1 python-warlock_1.2.0-2 python-webcolors_1.5-2 python-webob_1:1.7.3-2fakesync1 python-webtest_2.0.28-1ubuntu1 python-wrapt_1.9.0-3 python-wsme_0.9.2-0ubuntu2 python-yaml_3.12-1build2 python-zake_0.1.6-1 python-zope.interface_4.3.2-1build2 python2.7_2.7.14-6 python2.7-minimal_2.7.14-6 python3_3.6.4-1 python3-alembic_0.9.3-2ubuntu1 python3-chardet_3.0.4-1 python3-dateutil_2.6.1-1 python3-debian_0.1.32 python3-distutils_3.6.4-4 python3-extras_1.0.0-2 python3-fixtures_3.0.0-2 python3-lib2to3_3.6.4-4 python3-linecache2_1.0.0-3 python3-mako_1.0.7+ds1-1 python3-markupsafe_1.0-1build1 python3-mimeparse_0.1.4-3.1 python3-minimal_3.6.4-1 python3-pbr_3.1.1-3ubuntu3 python3-pkg-resources_38.5.2-1 python3-six_1.11.0-2 python3-sqlalchemy_1.1.11+ds1-1ubuntu1 python3-subunit_1.2.0-0ubuntu2 python3-testrepository_0.0.20-2 python3-testtools_2.3.0-0ubuntu2 python3-traceback2_1.4.0-4 python3-unittest2_1.1.0-6.1 python3.6_3.6.4-4 python3.6-minimal_3.6.4-4 readline-common_7.0-3 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-ironic-dummy_0.invalid.0 sed_4.4-2 sensible-utils_0.0.11 sgml-base_1.29 sphinx-common_1.6.7-1 subunit_1.2.0-0ubuntu2 sudo_1.8.21p2-3ubuntu1 systemd_237-3ubuntu4 systemd-sysv_237-3ubuntu4 sysv-rc_2.88dsf-59.3ubuntu2 sysvinit-utils_2.88dsf-59.10ubuntu1 tar_1.29b-2 testrepository_0.0.20-2 tzdata_2018c-1 ubuntu-keyring_2018.02.28 util-linux_2.31.1-0.4ubuntu2 x11-common_1:7.7+19ubuntu5 xclip_0.12+svn84-4build1 xdelta_1.1.3-9.2 xdelta3_3.0.11-dfsg-1ubuntu1 xml-core_0.18 xz-utils_5.2.2-1.3 zlib1g_1:1.2.11.dfsg-0ubuntu2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Mon Mar 12 20:37:56 2018 UTC gpgv: using RSA key 3516D1A5BF0077E71414E19715B9B3EE0DCDF806 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ironic_10.1.1-0ubuntu2.dsc dpkg-source: info: extracting ironic in ironic-10.1.1 dpkg-source: info: unpacking ironic_10.1.1.orig.tar.gz dpkg-source: info: unpacking ironic_10.1.1-0ubuntu2.debian.tar.xz Check disc space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=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-14447574 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-14447574 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-14447574 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- dpkg-buildpackage: info: source package ironic dpkg-buildpackage: info: source version 1:10.1.1-0ubuntu2 dpkg-buildpackage: info: source distribution bionic dpkg-source --before-build ironic-10.1.1 dpkg-buildpackage: info: 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: warning: ignoring old recipe for target 'get-orig-source' dh clean --with python2,systemd 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 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: warning: ignoring old recipe for target 'get-orig-source' dh build --with python2,systemd dh_update_autotools_config dh_autoreconf 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 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_management.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_periodic_task.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_inspect.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_bios.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/test_job.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/test_console_utils.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_agent.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_agent_base_vendor.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_snmp.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules 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_ipmitool.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_inspector.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 copying ironic/tests/unit/drivers/modules/__init__.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_oneview.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_xclarity.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_ilo.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_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/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/test_drac.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_ipmi.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_generic.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/__init__.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/test_types.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_api.py -> 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/test_node_traits.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_conductor.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/base.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_node_tags.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_connectors.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_volume_targets.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/__init__.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_management.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/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.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/tests/unit/drivers/modules/oneview/__init__.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/drivers creating build/lib.linux-x86_64-2.7/ironic/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible creating 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_glance_service.py -> 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_keystone.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_swift.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_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/test_images.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_exception.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_hash_ring.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_network.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 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_fsm.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_neutron.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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/drivers/redfish.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/irmc.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/base.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/xclarity.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/ilo.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/drac.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/agent.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/fake.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/cisco_ucs.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/__init__.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/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 copying ironic/tests/unit/drivers/modules/cimc/__init__.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/ucs copying ironic/drivers/modules/ucs/power.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/__init__.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/test_dbsync.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/__init__.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/portgroup.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/fields.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/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/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 copying ironic/objects/trait.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/conductor.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/__init__.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/controllers creating build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_root.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_types.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_node.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_expose.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_versions.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_driver.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_port.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1 copying ironic/common/neutron.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/rpc.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/dhcp_factory.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/wsgi_service.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/exception.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/states.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/service.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/keystone.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/release_mappings.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/policy.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/context.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/image_service.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/config.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/network.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/__init__.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_base_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/test_rpcapi.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/mgr_utils.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_task_manager.py -> 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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity creating build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/wsgi.py -> 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/hooks.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/config.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/__init__.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/auth_token.py -> build/lib.linux-x86_64-2.7/ironic/api/middleware copying ironic/api/middleware/json_ext.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 copying ironic/api/middleware/__init__.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_management.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 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/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/__init__.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/power.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/common.py -> 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 creating 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 copying ironic/tests/unit/drivers/modules/ucs/__init__.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/power.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/common.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/__init__.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/collection.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/volume_connector.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/port.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/driver.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/state.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/types.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/volume.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/chassis.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 creating 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_boot.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_vendor.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_inspect.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/__init__.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/api.py -> build/lib.linux-x86_64-2.7/ironic/db copying ironic/db/__init__.py -> build/lib.linux-x86_64-2.7/ironic/db creating 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/drivers/modules/network/flat.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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/console_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/noop.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/image_cache.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/inspector.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/fake.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/snmp.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/deploy_utils.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 creating 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 copying ironic/tests/unit/conf/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conf copying ironic/common/glance_service/service_utils.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 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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service creating 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/db/sqlalchemy/migration.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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/tests/unit/api/test_root.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/base.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_ospmiddleware.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/test_audit.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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ansible creating 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 copying ironic/dhcp/none.py -> build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/__init__.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/power.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/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/job.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/common.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 creating 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/drivers/modules/redfish/utils.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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/api/controllers/base.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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers creating 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/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/tests/unit/api/controllers/test_base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers copying ironic/tests/unit/policy_fixture.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 copying ironic/tests/unit/stubs.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 creating 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/auth.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/opts.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/metrics.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/database.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/audit.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/xclarity.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/ilo.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/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/drac.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/cisco.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/inspector.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/console.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/deploy.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/ansible.py -> 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/oneview.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/snmp.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/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/service_catalog.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/power.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/deploy.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/deploy_utils.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 creating 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 copying ironic/drivers/modules/ilo/inspect.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/firmware_processor.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/common.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/__init__.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/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/base_manager.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/task_manager.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 copying ironic/conductor/__init__.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/test_cinder.py -> 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 creating 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/test_fields.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 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_trait.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_target.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_port.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_chassis.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 creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity creating 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 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/__init__.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/storage copying ironic/drivers/modules/storage/noop.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/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage copying ironic/tests/base.py -> build/lib.linux-x86_64-2.7/ironic/tests copying ironic/tests/__init__.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/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 copying ironic/tests/unit/dhcp/__init__.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/test_noop.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_common.py -> 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 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/ja creating 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/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/inventory -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/callback_plugins creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/library creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/discover creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/prepare creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks 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/405cfe08f18d_add_rescue_interface_to_node.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/b4130a7fc904_create_nodetraits_table.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/e918ff30eb42_resize_column_nodes_instance_info.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 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: warning: ignoring old recipe for target 'get-orig-source' ostestr INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 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. INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 INFO [alembic.runtime.migration] Running stamp_revision -> e918ff30eb42 2018-03-12 20:57:42.519 9943 INFO alembic.runtime.migration [req-d7f5f0a3-9615-4e3e-8b9b-f0406f862b49 - - - - -] Context impl SQLiteImpl. 2018-03-12 20:57:42.521 9943 INFO alembic.runtime.migration [req-d7f5f0a3-9615-4e3e-8b9b-f0406f862b49 - - - - -] Will assume non-transactional DDL. {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.141487s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.028348s] ... ok 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': {}} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.081674s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} 2018-03-12 20:57:42.634 9945 INFO alembic.runtime.migration [req-0e95fa40-aada-477e-a768-cbf74d8c0aa9 - - - - -] Context impl SQLiteImpl. 2018-03-12 20:57:42.636 9945 INFO alembic.runtime.migration [req-0e95fa40-aada-477e-a768-cbf74d8c0aa9 - - - - -] Will assume non-transactional DDL. GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"description\": \"\", \"title\": \"Not Found\"}"} {3} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.093986s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.012196s] ... ok 2018-03-12 20:57:42.724 9941 INFO alembic.runtime.migration [req-21278a44-897f-4f59-a692-720004d2aa65 - - - - -] Context impl SQLiteImpl. 2018-03-12 20:57:42.732 9941 INFO alembic.runtime.migration [req-21278a44-897f-4f59-a692-720004d2aa65 - - - - -] Will assume non-transactional DDL. {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.352495s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.011211s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.046044s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.048168s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.037823s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.032370s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.037210s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_init [0.022447s] ... ok 2018-03-12 20:57:42.808 9939 INFO alembic.runtime.migration [req-01a2de31-8107-46df-956a-d5bc6ea45010 - - - - -] Context impl SQLiteImpl. 2018-03-12 20:57:42.812 9939 INFO alembic.runtime.migration [req-01a2de31-8107-46df-956a-d5bc6ea45010 - - - - -] Will assume non-transactional DDL. {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.235539s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.028865s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_sample [0.017304s] ... ok DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f2212338-6e06-42a9-afbf-78bd470d2082 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.122276s] ... ok GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7aa3d636-1e2f-495c-a3dc-1101bd8af997', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7aa3d636-1e2f-495c-a3dc-1101bd8af997', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7aa3d636-1e2f-495c-a3dc-1101bd8af997'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/db34c0c1-b2da-41ca-a621-a95faf5b9610', u'rel': u'self'}, {u'href': u'http://localhost/nodes/db34c0c1-b2da-41ca-a621-a95faf5b9610', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'db34c0c1-b2da-41ca-a621-a95faf5b9610'}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-c7638f84-8a06-48b2-a3f7-7194ebd63192 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-314d83a9-63c9-40b1-aac1-ab54a937cfc4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'4d645bbc-324d-46a8-9e97-fa9ebef7a3e1', u'links': [{u'href': u'http://localhost/v1/chassis/4d645bbc-324d-46a8-9e97-fa9ebef7a3e1', u'rel': u'self'}, {u'href': u'http://localhost/chassis/4d645bbc-324d-46a8-9e97-fa9ebef7a3e1', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'11ccc742-550a-4c44-a9b6-f83051264a87', u'links': [{u'href': u'http://localhost/v1/chassis/11ccc742-550a-4c44-a9b6-f83051264a87', u'rel': u'self'}, {u'href': u'http://localhost/chassis/11ccc742-550a-4c44-a9b6-f83051264a87', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'beb6477a-bcc4-4f84-b4e9-04e5949976a5', u'links': [{u'href': u'http://localhost/v1/chassis/beb6477a-bcc4-4f84-b4e9-04e5949976a5', u'rel': u'self'}, {u'href': u'http://localhost/chassis/beb6477a-bcc4-4f84-b4e9-04e5949976a5', 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=beb6477a-bcc4-4f84-b4e9-04e5949976a5'} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.103690s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.068556s] ... ok DELETE: /v1/chassis/4bf9c0d8-ae77-45f5-adad-c4dd7917b2b2 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a71bb362-566b-439e-a1ae-b73509de7204 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 4bf9c0d8-ae77-45f5-adad-c4dd7917b2b2 could not be found.\"}"} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2ac47307-844a-478d-8f5b-1fc395971787 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7aa3d636-1e2f-495c-a3dc-1101bd8af997', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7aa3d636-1e2f-495c-a3dc-1101bd8af997', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7aa3d636-1e2f-495c-a3dc-1101bd8af997'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=1&marker=7aa3d636-1e2f-495c-a3dc-1101bd8af997'} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.173669s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.022882s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.629003s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} 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'2018-03-12T20:57:43.217635+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.controllers.v1.test_chassis.TestListChassis.test_detail [0.053067s] ... ok GET: /v1/chassis {} GOT:{u'chassis': []} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.038213s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7cffa6a2-f5a7-4dc9-bb38-886d47c6ccdd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5d2ae77-0cc8-4166-b87c-258af81c7808 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.126195s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.212246s] ... ok GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab00683c-0b2b-4a30-a125-7264c32c4c39 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-3de2e5b4-ecd0-42d2-a8a7-95e296cb1a87 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.045433s] ... ok GET: /v1/chassis?fields=uuid,extra {} GOT:{u'chassis': [{u'uuid': u'5882985b-28e4-42b3-b251-a3ae67c7b64e', u'links': [{u'href': u'http://localhost/v1/chassis/5882985b-28e4-42b3-b251-a3ae67c7b64e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5882985b-28e4-42b3-b251-a3ae67c7b64e', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'8728a12a-cfd9-40c4-a1ac-dcac80078d2e', u'links': [{u'href': u'http://localhost/v1/chassis/8728a12a-cfd9-40c4-a1ac-dcac80078d2e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8728a12a-cfd9-40c4-a1ac-dcac80078d2e', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'c24da077-5d08-4b49-af8f-3dfdd241bd73', u'links': [{u'href': u'http://localhost/v1/chassis/c24da077-5d08-4b49-af8f-3dfdd241bd73', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c24da077-5d08-4b49-af8f-3dfdd241bd73', u'rel': u'bookmark'}], u'extra': {}}]} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.075112s] ... ok 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'2018-03-12T20:57:43.488171+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'} 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-44418daf-7e6c-42a5-aba2-a232ae821312 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.038096s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.075421s] ... ok 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-ceb99a8a-f6a2-4b6b-9f22-efa273854b6c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.039927s] ... ok GET: /v1/chassis/?limit=3 {} GOT:{u'chassis': [{u'uuid': u'04865cae-7953-46c7-a711-00bd471e5180', u'links': [{u'href': u'http://localhost/v1/chassis/04865cae-7953-46c7-a711-00bd471e5180', u'rel': u'self'}, {u'href': u'http://localhost/chassis/04865cae-7953-46c7-a711-00bd471e5180', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'5d2bce19-9c0a-4534-a6df-91680835ca46', u'links': [{u'href': u'http://localhost/v1/chassis/5d2bce19-9c0a-4534-a6df-91680835ca46', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5d2bce19-9c0a-4534-a6df-91680835ca46', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'08e8c3ee-87a4-4750-a65d-a174d32c2e78', u'links': [{u'href': u'http://localhost/v1/chassis/08e8c3ee-87a4-4750-a65d-a174d32c2e78', u'rel': u'self'}, {u'href': u'http://localhost/chassis/08e8c3ee-87a4-4750-a65d-a174d32c2e78', 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=08e8c3ee-87a4-4750-a65d-a174d32c2e78'} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.041340s] ... ok POST: /v1/chassis/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6bba1c9a-7c00-4d1c-882b-3b1311bc650a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a6f77631-5a6c-4acf-bf74-7d9592c54244 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.048813s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.035709s] ... ok 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.'} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.061682s] ... ok GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e4ab4572-def5-4915-821f-35b6b2da81a0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.045537s] ... ok 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-2fc89747-aaeb-4c41-8858-45d41ae82308 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.055852s] ... ok GET: /v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e {} GOT:{u'uuid': u'7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'links': [{u'href': u'http://localhost/v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:43.102200+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e {} GOT:{u'uuid': u'7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'links': [{u'href': u'http://localhost/v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:43.102200+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e {} GOT:{u'uuid': u'7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'links': [{u'href': u'http://localhost/v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:43.102200+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7f0af4d2-dbf6-4918-85fb-ffa359aace6e/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.071012s] ... ok GET: /v1/drivers/fake-hardware-type {} GET: /v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1 {} PATCH: /v1/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7de031f8-d96d-4bee-b190-1d543e8343e0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "aa6f4a23-dd05-43c8-81c5-d1bd06752ac2", "links": [{"href": "http://localhost/v1/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2", "rel": "self"}, {"href": "http://localhost/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "created_at": "2018-03-12T20:57:43.177038+00:00", "updated_at": "2018-03-12T20:57:43.196621+00:00", "nodes": [{"href": "http://localhost/v1/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2/nodes", "rel": "self"}, {"href": "http://localhost/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2 {} GOT:{u'uuid': u'aa6f4a23-dd05-43c8-81c5-d1bd06752ac2', u'links': [{u'href': u'http://localhost/v1/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2', u'rel': u'self'}, {u'href': u'http://localhost/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'new value', u'foo3': u'bar3'}, u'created_at': u'2018-03-12T20:57:43.177038+00:00', u'updated_at': u'2018-03-12T20:57:43.196621+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/aa6f4a23-dd05-43c8-81c5-d1bd06752ac2/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GOT:{u'enabled_rescue_interfaces': [], 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'default_rescue_interface': None, 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'hosts': [u'fake-host1', u'fake-host2'], 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'enabled_power_interfaces': []} 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 {} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.080195s] ... ok GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{u'uuid': u'a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'links': [{u'href': u'http://foo/v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'rel': u'self'}, {u'href': u'http://foo/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:43.698714+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1 {} 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-ad7c5868-0717-482a-8296-0e7d57f8b15c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.077881s] ... ok GOT:{} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.086902s] ... ok GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ed8d6498-483e-4533-8cd9-5faab6503c4f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.018447s] ... ok GOT:{u'uuid': u'a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'links': [{u'href': u'http://foo/v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'rel': u'self'}, {u'href': u'http://foo/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:43.698714+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1 {} GOT:{u'uuid': u'a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'links': [{u'href': u'http://foo/v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'rel': u'self'}, {u'href': u'http://foo/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:43.698714+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/a3dda210-a83c-480c-b3cf-f1ccba61bac1/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.407988s] ... ok 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-9af65027-e6f4-4995-9a42-05efaf6f9fcd X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:43.346568+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'2018-03-12T20:57:43.346568+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'} 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.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.029729s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.052150s] ... ok GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28756533-a562-43bd-aa64-815dfa0dc639 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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).\"}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.031751s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.033243s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.012743s] ... ok GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'ac72e923-cc90-4f41-a567-8312368dba48', u'links': [{u'href': u'http://localhost/v1/chassis/ac72e923-cc90-4f41-a567-8312368dba48', u'rel': u'self'}, {u'href': u'http://localhost/chassis/ac72e923-cc90-4f41-a567-8312368dba48', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'7611da1d-c9b4-412d-a4e0-a733d7f9876d', u'links': [{u'href': u'http://localhost/v1/chassis/7611da1d-c9b4-412d-a4e0-a733d7f9876d', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7611da1d-c9b4-412d-a4e0-a733d7f9876d', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'5af8889e-53c3-4306-a2ee-e559b28974b3', u'links': [{u'href': u'http://localhost/v1/chassis/5af8889e-53c3-4306-a2ee-e559b28974b3', u'rel': u'self'}, {u'href': u'http://localhost/chassis/5af8889e-53c3-4306-a2ee-e559b28974b3', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'7a158966-c556-458e-8086-e2732299abb3', u'links': [{u'href': u'http://localhost/v1/chassis/7a158966-c556-458e-8086-e2732299abb3', u'rel': u'self'}, {u'href': u'http://localhost/chassis/7a158966-c556-458e-8086-e2732299abb3', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'bf71dc45-46c0-4671-8322-5890a9c7f2cf', u'links': [{u'href': u'http://localhost/v1/chassis/bf71dc45-46c0-4671-8322-5890a9c7f2cf', u'rel': u'self'}, {u'href': u'http://localhost/chassis/bf71dc45-46c0-4671-8322-5890a9c7f2cf', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.067341s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ad51d08-a5a3-4e34-9faf-034cade83ecc X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.503670s] ... ok 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-8cd13fb2-6893-4af4-bcde-ce8198b09205 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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^.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.028755s] ... ok GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84cd88ac-38a4-4353-b9cf-776ab624d34d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} 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'2018-03-12T20:57:43.863195+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'} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.065772s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.071375s] ... ok 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'}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.091934s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'f657b6ee-16c1-4ad2-86f1-2de46adcc913'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4db25730-8c85-41ae-85da-08fc648107d9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.026262s] ... ok GET: /v1/chassis?sort_key=uuid {} 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-a402d107-6754-4cf9-b117-0a67332a8310 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:43.405854+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'2018-03-12T20:57:43.405854+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.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.064400s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/cc97121f-24f0-4f1c-8e10-77bd6aedcef9 GOT:Response: 204 No Content Openstack-Request-Id: req-cf57926c-f938-4827-9044-32072e567ca6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.033499s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{u'vifs': []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.050952s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.030135s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.030334s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.026578s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.012472s] ... ok 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-2ba9e67f-3ea6-44b8-b77b-834a0b5cfc1b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:43.932045+00:00", "updated_at": "2018-03-12T20:57:43.980520+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"} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.087185s] ... ok GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cb99b807-59c4-462a-a3ef-dc5da344df01 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.032817s] ... ok PATCH: /v1/chassis/2a4bec4d-ffe2-4f59-8651-30034993e7a2 [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3ac0ceb3-11bb-4688-87cc-e60273e56b8b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 2a4bec4d-ffe2-4f59-8651-30034993e7a2 could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.072701s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-27dfbb83-abde-4af3-8bd8-037f874765cb X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.090176s] ... ok 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'}]} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.099872s] ... ok GOT:{u'chassis': [{u'uuid': u'936119f6-49bb-4518-a491-6c232601c5fe', u'links': [{u'href': u'http://localhost/v1/chassis/936119f6-49bb-4518-a491-6c232601c5fe', u'rel': u'self'}, {u'href': u'http://localhost/chassis/936119f6-49bb-4518-a491-6c232601c5fe', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'9b4496d7-b0a6-4108-9ef4-6dd6905af58a', u'links': [{u'href': u'http://localhost/v1/chassis/9b4496d7-b0a6-4108-9ef4-6dd6905af58a', u'rel': u'self'}, {u'href': u'http://localhost/chassis/9b4496d7-b0a6-4108-9ef4-6dd6905af58a', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'b6562d64-9d9c-4859-bb51-fdc8230cc708', u'links': [{u'href': u'http://localhost/v1/chassis/b6562d64-9d9c-4859-bb51-fdc8230cc708', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b6562d64-9d9c-4859-bb51-fdc8230cc708', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.103734s] ... ok DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-29d617b8-d770-4978-bfe8-07301f66f1b2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.052843s] ... ok DELETE: /v1/drivers/fake-driver1/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-c3507124-acf9-4413-80fa-1244d1dbd220 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.045740s] ... ok GET: /v1/drivers {} GOT:{u'drivers': []} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.027435s] ... ok 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-ce3c3658-6229-4836-92b5-070d07a72336 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.056563s] ... ok 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.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.030556s] ... ok 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-c9ceaf6e-e046-4d89-9b96-ac580727b22b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_chassis.TestPost.test_create_chassis [0.127691s] ... ok GET: /v1/nodes?instance_uuid=cf931eb9-847e-41f5-8ccc-ba015df79f0f {} GOT:{u'nodes': [{u'instance_uuid': u'cf931eb9-847e-41f5-8ccc-ba015df79f0f', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7d11b907-3308-4175-b6bb-d31a200d8a7e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7d11b907-3308-4175-b6bb-d31a200d8a7e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7d11b907-3308-4175-b6bb-d31a200d8a7e'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.184453s] ... ok 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'} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.058424s] ... ok 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-d2611fa8-734a-4219-bdc5-205c6bd623ca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.091491s] ... ok 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-9f2c3761-f4b8-437d-a059-6d224156042f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:44.327327+00:00", "updated_at": "2018-03-12T20:57:44.393929+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'2018-03-12T20:57:44.327327+00:00', u'updated_at': u'2018-03-12T20:57:44.393929+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.controllers.v1.test_chassis.TestPatch.test_add_multi [0.185657s] ... ok GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9a7bd923-5f0a-4446-b9d6-5aa8227468fe X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.082952s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-63a78f4c-98f3-4f2f-9fff-a6a57ee49f86 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.065805s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.060686s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.072204s] ... ok 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-d05a6a25-d262-4e29-9e08-b6893e0c1830 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.162802s] ... ok POST: /v1/nodes/node-39/vifs {'id': '7eb2c816-e308-421a-b17c-6eeb1573cafa'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-209f255f-4781-4ed0-8ae5-a6ef2dc91984 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.050966s] ... ok 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-40506d3e-b44f-4b0d-b58b-58e065ee5551 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.078630s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.054936s] ... ok 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-43b3ef1c-e75b-477d-b435-13d4f3354a38 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.093312s] ... ok GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.038114s] ... ok GET: /v1/nodes/spam/states/console {} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ea87387c-26f8-4851-a642-a6a127fad8b6 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5735019a-6269-4ed1-a979-18fb3099a51c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.080349s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.025971s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.033333s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.037307s] ... ok 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.045522s] ... ok PATCH: /v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c [{'path': '/extra/foo2', 'op': 'remove'}] GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.048226s] ... ok 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-14db4224-2bb6-433f-8507-c2b333cc295f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.047191s] ... ok DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-618d74cd-aaa8-4858-9cbd-03f39250de5e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.051332s] ... ok 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-2ff2dc93-6f5b-402a-8279-781370d8f242 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.043905s] ... ok GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-278c10ca-21d6-43c6-baef-900c2d352e9d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.033807s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GET: /v1/drivers/fake-driver1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-328ac375-7bc1-4917-8dc6-a913800b9973 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f5e542f6-8d6d-47f5-a106-0669fb16c077 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.047861s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.039010s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a68145f0-b709-4287-b971-d442d32290b7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.093507s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-023a736d-6731-43a1-b3be-0cdc603be78a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.042200s] ... ok 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-4688fe9f-16bc-4e9a-aac3-e5bda1c0d0a4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.128829s] ... ok 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:{} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.141156s] ... ok GET: /v1/nodes?driver=fake {} GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4cd3009f-b56b-4fe1-8dd6-5cc1e61a87f6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.027546s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-63a88b92-44f6-4547-8c06-5b99c6a5540e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.141054s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6e269245-fe2b-4d7b-baa7-b025ab3d501c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.072537s] ... ok GET: /v1/nodes?driver=test {} GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8094fcc4-964c-4748-9bed-bc2c8ea7606b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.244177s] ... ok GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28d438f9-4391-4d61-b0e3-97bb4e4c3d12 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "b75b6500-b217-4741-b17c-6b007f0be62c", "links": [{"href": "http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c", "rel": "self"}, {"href": "http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo3": "bar3"}, "created_at": "2018-03-12T20:57:44.747804+00:00", "updated_at": "2018-03-12T20:57:44.847594+00:00", "nodes": [{"href": "http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c {} GOT:{u'uuid': u'b75b6500-b217-4741-b17c-6b007f0be62c', u'links': [{u'href': u'http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo3': u'bar3'}, u'created_at': u'2018-03-12T20:57:44.747804+00:00', u'updated_at': u'2018-03-12T20:57:44.847594+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} PATCH: /v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c3a94fa0-119b-4bf9-bc6c-a6586a6a4881 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "b75b6500-b217-4741-b17c-6b007f0be62c", "links": [{"href": "http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c", "rel": "self"}, {"href": "http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c", "rel": "bookmark"}], "extra": {}, "created_at": "2018-03-12T20:57:44.747804+00:00", "updated_at": "2018-03-12T20:57:44.991584+00:00", "nodes": [{"href": "http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c {} GOT:{u'uuid': u'b75b6500-b217-4741-b17c-6b007f0be62c', u'links': [{u'href': u'http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:44.747804+00:00', u'updated_at': u'2018-03-12T20:57:44.991584+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b75b6500-b217-4741-b17c-6b007f0be62c/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.376134s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.162229s] ... ok GOT:{u'nodes': []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.114056s] ... ok 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 {} /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'non-existent'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5e26ce53-8427-47ea-8304-ed38d87b445c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'\"}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.040573s] ... ok 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.controllers.v1.test_driver.TestListDrivers.test_links [0.115486s] ... ok PATCH: /v1/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47 [{'path': '/description', 'op': 'remove'}] GET: /v1/nodes?resource_class=foo {} GET: /v1/drivers/fake-driver1 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b94fff7a-d437-4337-b74c-83ce7c1c433c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b94fff7a-d437-4337-b74c-83ce7c1c433c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b94fff7a-d437-4337-b74c-83ce7c1c433c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6966003e-eacc-4ad2-b173-e1aea1f0301d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6966003e-eacc-4ad2-b173-e1aea1f0301d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6966003e-eacc-4ad2-b173-e1aea1f0301d'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3aecc4d8-6f75-4b08-a62c-eded726f8187', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3aecc4d8-6f75-4b08-a62c-eded726f8187', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3aecc4d8-6f75-4b08-a62c-eded726f8187'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=3aecc4d8-6f75-4b08-a62c-eded726f8187'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.273331s] ... ok GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70d5fcc5-5a7d-4723-b74d-83207a8961fb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "16cc93d8-2ff5-421e-af79-bde8d83d1b47", "links": [{"href": "http://localhost/v1/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47", "rel": "self"}, {"href": "http://localhost/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47", "rel": "bookmark"}], "extra": {"a": "b"}, "created_at": "2018-03-12T20:57:45.076243+00:00", "updated_at": "2018-03-12T20:57:45.106244+00:00", "nodes": [{"href": "http://localhost/v1/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47/nodes", "rel": "self"}, {"href": "http://localhost/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47/nodes", "rel": "bookmark"}], "description": null} GET: /v1/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47 {} 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'uuid': u'16cc93d8-2ff5-421e-af79-bde8d83d1b47', u'links': [{u'href': u'http://localhost/v1/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47', u'rel': u'self'}, {u'href': u'http://localhost/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47', u'rel': u'bookmark'}], u'extra': {u'a': u'b'}, u'created_at': u'2018-03-12T20:57:45.076243+00:00', u'updated_at': u'2018-03-12T20:57:45.106244+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/16cc93d8-2ff5-421e-af79-bde8d83d1b47/nodes', u'rel': u'bookmark'}], u'description': None} 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 {} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.084266s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3e5eb2e1-b42a-46a7-9d4b-52c6f3a1502e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3e5eb2e1-b42a-46a7-9d4b-52c6f3a1502e', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'3e5eb2e1-b42a-46a7-9d4b-52c6f3a1502e'}]} GET: /v1/nodes?resource_class=bar {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bd43762f-a375-4679-b295-e35c1cdbe370 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.039166s] ... ok 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.111101s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'f3f5fcc2-2c64-4db0-a99c-a615a36fd2a0'} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3c9b134b-a99e-489c-9317-cf9d7ebc2eee', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c9b134b-a99e-489c-9317-cf9d7ebc2eee', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'3c9b134b-a99e-489c-9317-cf9d7ebc2eee'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.175876s] ... ok GET: /v1/nodes?resource_class=fake {} GOT:Response: 204 No Content Openstack-Request-Id: req-5f8fd699-71d9-4b6d-84fd-8a152bbdd08b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.036045s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a5f3d998-4c04-42d1-b82d-deccaed330a6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.021597s] ... ok 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'traits': [], 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'rescue_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'2018-03-12T20:57:45.112826+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.controllers.v1.test_node.TestListNodes.test_detail [0.098642s] ... ok 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 "} {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.031463s] ... ok GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60d901de-aa14-4490-b4f0-f2dcb7022934 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:45.193182+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:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-84366787-ba41-42c0-a670-5465f40f449b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.026434s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.020362s] ... ok GET: /v1/nodes/detail?associated=true {} 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'2018-03-12T20:57:45.193182+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.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.100483s] ... ok GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c5acf31-b969-41b5-906a-9ebdbf25c236 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.025396s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'foo': 123}} DELETE: /v1/nodes/foo GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-402e9072-eb0b-4a6b-a3ec-7090f31a71c4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:45.316366+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:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8421a130-8415-4120-aee4-ca97b52c82f9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.051922s] ... ok 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'2018-03-12T20:57:45.316366+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'} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.058220s] ... ok 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': {}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.055206s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f470acd2-c061-4aee-9366-98dffe9395f0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.035955s] ... ok GET: /v1/nodes/node.json {} POST: /v1/chassis {'description': 'data-center-1-chassis', 'extra': {}} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-abe26104-82b0-4f3b-9313-cd5a29669252 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.023008s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/8c0d7807-e1a8-4926-ba78-b527c18bc5e3 Openstack-Request-Id: req-b872b85c-6c81-487e-90ef-efef7cd0db59 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8c0d7807-e1a8-4926-ba78-b527c18bc5e3", "links": [{"href": "http://localhost/v1/chassis/8c0d7807-e1a8-4926-ba78-b527c18bc5e3", "rel": "self"}, {"href": "http://localhost/chassis/8c0d7807-e1a8-4926-ba78-b527c18bc5e3", "rel": "bookmark"}], "extra": {}, "created_at": "2018-03-12T20:57:45.389916+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/8c0d7807-e1a8-4926-ba78-b527c18bc5e3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/8c0d7807-e1a8-4926-ba78-b527c18bc5e3/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e76ab92c-f2e7-42a0-bbee-09b2695005a9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.041275s] ... ok GOT:{u'chassis': [{u'uuid': u'8c0d7807-e1a8-4926-ba78-b527c18bc5e3', u'links': [{u'href': u'http://localhost/v1/chassis/8c0d7807-e1a8-4926-ba78-b527c18bc5e3', u'rel': u'self'}, {u'href': u'http://localhost/chassis/8c0d7807-e1a8-4926-ba78-b527c18bc5e3', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.112488s] ... ok GET: /v1/nodes?associated=true {} GET: /v1/drivers/fake/properties {} 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'traits': [], 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'rescue_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': u'node.json', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-03-12T20:57:45.367660+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.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.082171s] ... ok GOT:{u'prop1': u'Property 1. Required.'} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.111926s] ... ok GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/00b10325-3e91-463e-abb4-5a8a8de28e44', u'rel': u'self'}, {u'href': u'http://localhost/nodes/00b10325-3e91-463e-abb4-5a8a8de28e44', 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'00b10325-3e91-463e-abb4-5a8a8de28e44', 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'0389a364-5d2d-4f1a-9fff-dc83e037a693', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.248415+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/00b10325-3e91-463e-abb4-5a8a8de28e44/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/00b10325-3e91-463e-abb4-5a8a8de28e44/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/ea5c4606-b517-4fda-b1b9-93920c86e6a3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ea5c4606-b517-4fda-b1b9-93920c86e6a3', 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'ea5c4606-b517-4fda-b1b9-93920c86e6a3', 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'de349924-51b7-48c9-93a7-585380665f99', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.255958+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/ea5c4606-b517-4fda-b1b9-93920c86e6a3/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ea5c4606-b517-4fda-b1b9-93920c86e6a3/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/71527933-c46f-41d3-a5bf-6ef9e854e377', u'rel': u'self'}, {u'href': u'http://localhost/nodes/71527933-c46f-41d3-a5bf-6ef9e854e377', 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'71527933-c46f-41d3-a5bf-6ef9e854e377', 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'be5bb532-90c9-44cc-aeca-0cb1a047f7c1', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.261421+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/71527933-c46f-41d3-a5bf-6ef9e854e377/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/71527933-c46f-41d3-a5bf-6ef9e854e377/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/26af9cfe-dc66-436e-bb22-11b10442ff1d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/26af9cfe-dc66-436e-bb22-11b10442ff1d', 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'26af9cfe-dc66-436e-bb22-11b10442ff1d', 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'4225b9ab-f9b0-4795-9390-e27fb5d0f52f', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.267717+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/26af9cfe-dc66-436e-bb22-11b10442ff1d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/26af9cfe-dc66-436e-bb22-11b10442ff1d/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.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.200417s] ... ok GET: /v1/nodes/detail?instance_uuid=5141bb34-bb41-4ce1-a5c0-b0054b767947 {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/0dbc44f6-f0e1-4be6-bc47-9c8be744d962', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0dbc44f6-f0e1-4be6-bc47-9c8be744d962', 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'0dbc44f6-f0e1-4be6-bc47-9c8be744d962', 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'5141bb34-bb41-4ce1-a5c0-b0054b767947', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.422226+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/0dbc44f6-f0e1-4be6-bc47-9c8be744d962/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0dbc44f6-f0e1-4be6-bc47-9c8be744d962/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.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.101057s] ... ok GOT:{u'nodes': [{u'instance_uuid': u'66214208-0ab7-44a4-839c-920c425d6ca5', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/051d5356-2777-44f1-b547-6a525f971130', u'rel': u'self'}, {u'href': u'http://localhost/nodes/051d5356-2777-44f1-b547-6a525f971130', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'051d5356-2777-44f1-b547-6a525f971130'}, {u'instance_uuid': u'7824e80e-6328-4ed9-829c-589aa9475e42', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ce44f252-dcdb-48d4-a0b8-4e95680703f7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ce44f252-dcdb-48d4-a0b8-4e95680703f7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ce44f252-dcdb-48d4-a0b8-4e95680703f7'}, {u'instance_uuid': u'041f0c2f-0601-44f5-97eb-48e1810203ad', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f1b53cdc-f13f-468c-9ab7-03fb6747de8a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f1b53cdc-f13f-468c-9ab7-03fb6747de8a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f1b53cdc-f13f-468c-9ab7-03fb6747de8a'}, {u'instance_uuid': u'5b922ba7-f7f2-4a2b-bd77-f91d5bafe8d8', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6f1f9c20-2cca-44f0-9302-09efbbbb726b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6f1f9c20-2cca-44f0-9302-09efbbbb726b', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6f1f9c20-2cca-44f0-9302-09efbbbb726b'}]} GET: /v1/nodes?associated=True {} 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} 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'2018-03-12T20:57:45.480305+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'2018-03-12T20:57:45.480305+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'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.080231s] ... ok GET: /v1/nodes/spam/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.107838s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.142847s] ... ok GET: /v1/drivers/fake-driver1/vendor_passthru/do_test {} GOT:foo {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.180720s] ... ok 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'2018-03-12T20:57:45.602453+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'2018-03-12T20:57:45.602453+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.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.150975s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'nodes': [{u'instance_uuid': u'66214208-0ab7-44a4-839c-920c425d6ca5', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/051d5356-2777-44f1-b547-6a525f971130', u'rel': u'self'}, {u'href': u'http://localhost/nodes/051d5356-2777-44f1-b547-6a525f971130', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'051d5356-2777-44f1-b547-6a525f971130'}, {u'instance_uuid': u'7824e80e-6328-4ed9-829c-589aa9475e42', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ce44f252-dcdb-48d4-a0b8-4e95680703f7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ce44f252-dcdb-48d4-a0b8-4e95680703f7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ce44f252-dcdb-48d4-a0b8-4e95680703f7'}, {u'instance_uuid': u'041f0c2f-0601-44f5-97eb-48e1810203ad', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f1b53cdc-f13f-468c-9ab7-03fb6747de8a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f1b53cdc-f13f-468c-9ab7-03fb6747de8a', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f1b53cdc-f13f-468c-9ab7-03fb6747de8a'}, {u'instance_uuid': u'5b922ba7-f7f2-4a2b-bd77-f91d5bafe8d8', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6f1f9c20-2cca-44f0-9302-09efbbbb726b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6f1f9c20-2cca-44f0-9302-09efbbbb726b', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6f1f9c20-2cca-44f0-9302-09efbbbb726b'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.276760s] ... ok POST: /v1/drivers/fake-driver1/vendor_passthru {'test_key': 'test_value'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GET: /v1/nodes/?limit=3 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e8ad6a1-1deb-40e6-bb01-04fe95e7a5df X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.054130s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c23fb32-8a30-480d-bb52-6f8d049778e5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.118762s] ... ok 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'2018-03-12T20:57:45.762639+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 {} GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'foo': u'bar'} GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GOT:{u'foo': u'bar'} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.063906s] ... ok 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'2018-03-12T20:57:45.762639+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/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6a14dfbe-90e9-408e-bbb4-c2781f2bf3ca', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6a14dfbe-90e9-408e-bbb4-c2781f2bf3ca', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6a14dfbe-90e9-408e-bbb4-c2781f2bf3ca'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a470d8ff-ec1c-4669-b40e-21fce56dc8d8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a470d8ff-ec1c-4669-b40e-21fce56dc8d8', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a470d8ff-ec1c-4669-b40e-21fce56dc8d8'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/26de2a86-1f33-4be0-be90-637416e1b881', u'rel': u'self'}, {u'href': u'http://localhost/nodes/26de2a86-1f33-4be0-be90-637416e1b881', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'26de2a86-1f33-4be0-be90-637416e1b881'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=26de2a86-1f33-4be0-be90-637416e1b881'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.144361s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.128634s] ... ok GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.096405s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3c4b23ac-8bfa-4e57-8307-94d8ee34f9a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.046745s] ... ok GET: /v1/nodes/detail?sort_key=resource_class {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GET: /v1/drivers {} GOT:{u'console_enabled': False, u'console_info': None} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.043514s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} 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 {} GET: /v1/nodes/detail?limit=3&associated=true {} 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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4591993-48f5-4115-8144-7c89bc0bacbf X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.054727s] ... ok 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 {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} 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.controllers.v1.test_driver.TestListDrivers.test_drivers [0.205755s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6235d1a7-219d-4155-b0d9-b8439da69d92 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.112187s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GET: /v1/drivers?detail=False {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/2b19c063-94d9-4612-80d7-ec87a2264d9b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2b19c063-94d9-4612-80d7-ec87a2264d9b', 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'2b19c063-94d9-4612-80d7-ec87a2264d9b', 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'2458a002-ed16-4f47-b8ff-57d4428129b4', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.946629+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/2b19c063-94d9-4612-80d7-ec87a2264d9b/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2b19c063-94d9-4612-80d7-ec87a2264d9b/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/140d5ae3-37bb-4c81-b828-6c98e4c15243', u'rel': u'self'}, {u'href': u'http://localhost/nodes/140d5ae3-37bb-4c81-b828-6c98e4c15243', 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'140d5ae3-37bb-4c81-b828-6c98e4c15243', 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'c5f481df-1070-4858-8cbc-15ec9fae2539', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.957154+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/140d5ae3-37bb-4c81-b828-6c98e4c15243/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/140d5ae3-37bb-4c81-b828-6c98e4c15243/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/818f30db-8482-4ab9-b8a1-f7a4eb625c0e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/818f30db-8482-4ab9-b8a1-f7a4eb625c0e', 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'818f30db-8482-4ab9-b8a1-f7a4eb625c0e', 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'2c563d75-17cb-421c-9d61-22e9017d0685', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2018-03-12T20:57:45.967858+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/818f30db-8482-4ab9-b8a1-f7a4eb625c0e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/818f30db-8482-4ab9-b8a1-f7a4eb625c0e/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=818f30db-8482-4ab9-b8a1-f7a4eb625c0e'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.235020s] ... ok GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/a41ade9f-3e89-4406-ab22-577ec38bc962', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a41ade9f-3e89-4406-ab22-577ec38bc962', 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/a41ade9f-3e89-4406-ab22-577ec38bc962/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a41ade9f-3e89-4406-ab22-577ec38bc962/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'a41ade9f-3e89-4406-ab22-577ec38bc962', 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'2018-03-12T20:57:45.908300+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/a41ade9f-3e89-4406-ab22-577ec38bc962/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a41ade9f-3e89-4406-ab22-577ec38bc962/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/130446d8-bb68-4137-8b3f-3965a635bae5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/130446d8-bb68-4137-8b3f-3965a635bae5', 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/130446d8-bb68-4137-8b3f-3965a635bae5/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/130446d8-bb68-4137-8b3f-3965a635bae5/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'130446d8-bb68-4137-8b3f-3965a635bae5', 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'2018-03-12T20:57:45.892703+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/130446d8-bb68-4137-8b3f-3965a635bae5/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/130446d8-bb68-4137-8b3f-3965a635bae5/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/76c0be18-c576-4022-9479-be2c0f58c63e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76c0be18-c576-4022-9479-be2c0f58c63e', 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/76c0be18-c576-4022-9479-be2c0f58c63e/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76c0be18-c576-4022-9479-be2c0f58c63e/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'76c0be18-c576-4022-9479-be2c0f58c63e', 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'2018-03-12T20:57:45.881482+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/76c0be18-c576-4022-9479-be2c0f58c63e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76c0be18-c576-4022-9479-be2c0f58c63e/ports', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.169179s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e8a440ac-08ae-4a5b-a7ec-a194b321bab9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"}GET: /v1/nodes {} GOT:{u'nodes': []} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.064699s] ... ok GET: /v1/nodes?provision_state=available {} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.056192s] ... ok 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} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.071730s] ... ok GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b666533a-d687-4a79-8477-31d931575a22 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Expected a UUID but received fake.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.082836s] ... ok GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/09d74908-1d55-4c7e-85fd-f300d7233b47', u'rel': u'self'}, {u'href': u'http://localhost/nodes/09d74908-1d55-4c7e-85fd-f300d7233b47', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'09d74908-1d55-4c7e-85fd-f300d7233b47'}]} GET: /v1/nodes?provision_state=deploying {} GET: /v1/drivers/fake-driver1 {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GET: /v1/nodes?driver=pxe_ipmitool {} 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'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'}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.079424s] ... ok 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'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/12561e30-6f43-456a-a926-b3b2d4a2a77f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/12561e30-6f43-456a-a926-b3b2d4a2a77f', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'deploying', u'uuid': u'12561e30-6f43-456a-a926-b3b2d4a2a77f'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.191581s] ... ok 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 {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/27da4914-48f0-4080-b780-912d557d6cbf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/27da4914-48f0-4080-b780-912d557d6cbf', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'27da4914-48f0-4080-b780-912d557d6cbf'}]} GET: /v1/nodes?driver=fake {} GOT:{} GET: /drivers/fake-driver1/properties {} GET: /v1/nodes?provision_state=test {} GOT:{} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_classic [0.133110s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-13edbdd8-f2e9-4547-bde8-116e559a6d0e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.044474s] ... ok GET: /v1/drivers?detail=True {} 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'2018-03-12T20:57:46.277901+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.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.086771s] ... ok GET: /v1/nodes/node.json.json {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f46c698c-b2a7-4cf2-8b65-4a4fb5d39e5b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f46c698c-b2a7-4cf2-8b65-4a4fb5d39e5b', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'f46c698c-b2a7-4cf2-8b65-4a4fb5d39e5b'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.161514s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-15bb2734-7c41-410a-ae47-dbc1144d2d0b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.034481s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GET: /v1/nodes?resource_class=test {} 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.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.085975s] ... ok 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'}]} GOT:{u'nodes': []} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.071264s] ... ok GET: /v1/drivers/fake-driver2 {} 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'traits': [], 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'rescue_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': u'node.json', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-03-12T20:57:46.347481+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'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.092080s] ... ok GET: /v1/nodes/test.1 {} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} 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 {} GET: /v1/nodes?sort_key=uuid {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f6e0663d-9fe1-415c-9fd7-dc3e5306702f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.033844s] ... ok 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 {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} 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'traits': [], 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'rescue_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': u'test.1', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2018-03-12T20:57:46.436096+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'}]} 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 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.085302s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d30f7b74-b7c2-4295-9a3a-8a5f757347b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.037203s] ... ok 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.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.240196s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GET: /v1/drivers?detail=True {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5cab1022-c156-4259-9e1c-79bd5f74f1f0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5cab1022-c156-4259-9e1c-79bd5f74f1f0', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'5cab1022-c156-4259-9e1c-79bd5f74f1f0'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8d500b45-cd31-4427-bc04-d7335aa23c9e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8d500b45-cd31-4427-bc04-d7335aa23c9e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'8d500b45-cd31-4427-bc04-d7335aa23c9e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c76d77f8-db93-40bd-ae5b-b0ec0a6924e1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c76d77f8-db93-40bd-ae5b-b0ec0a6924e1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c76d77f8-db93-40bd-ae5b-b0ec0a6924e1'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.173027s] ... ok 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'traits': [], 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'rescue_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'2018-03-12T20:57:46.512831+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.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.072569s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.057279s] ... ok GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.056311s] ... ok 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'2018-03-12T20:57:46.562938+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'2018-03-12T20:57:46.562938+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.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.111705s] ... ok GOT:{u'drivers': [{u'enabled_rescue_interfaces': None, 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'default_rescue_interface': None, 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'hosts': [u'fake-host1', u'fake-host2'], 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'enabled_power_interfaces': None}, {u'enabled_rescue_interfaces': None, 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'default_rescue_interface': None, 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'hosts': [u'fake-host1'], 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'enabled_power_interfaces': None}, {u'enabled_rescue_interfaces': [], 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'default_rescue_interface': None, 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'hosts': [u'fake-host1', u'fake-host2'], 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'enabled_power_interfaces': []}]} 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 {} GET: /v1/nodes/detail {} GET: /v1/nodes?sort_key=resource_class {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} 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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e930bf0d-f632-4383-a59b-5d36714b8252 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.057984s] ... ok 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 {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b9a24dee-4223-4db6-9b41-b537a1dd3a9b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.045346s] ... ok 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'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'2018-03-12T20:57:46.677448+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 {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} 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.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.265093s] ... ok GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/beed23e6-ee9e-4d7b-bb55-b616e479b49f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/beed23e6-ee9e-4d7b-bb55-b616e479b49f', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'beed23e6-ee9e-4d7b-bb55-b616e479b49f'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f4bcc5f1-bbf5-41b9-b427-783724653fa6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f4bcc5f1-bbf5-41b9-b427-783724653fa6', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'f4bcc5f1-bbf5-41b9-b427-783724653fa6'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2258e7a4-3443-4298-841f-4a365c100956', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2258e7a4-3443-4298-841f-4a365c100956', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'2258e7a4-3443-4298-841f-4a365c100956'}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.213981s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6fe2db97-48ba-441a-b609-cce58250b561 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.069409s] ... ok GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} 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'2018-03-12T20:57:46.677448+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.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.183342s] ... ok GET: /v1/nodes/detail {} 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'2018-03-12T20:57:46.804536+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'2018-03-12T20:57:46.804536+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'******'}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.086579s] ... ok GOT:{u'foo': u'description of foo'} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.117188s] ... ok GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chasis_api_policy [0.044357s] ... ok GOT:{} 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'2018-03-12T20:57:46.882457+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 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.103277s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ed73cd31-208e-4a51-84b8-2cef49783e41 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.065724s] ... ok 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'2018-03-12T20:57:46.855349+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': 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'traits': [u'CUSTOM_1'], 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'2018-03-12T20:57:46.855349+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.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.190159s] ... ok GET: /v1/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8', u'rel': u'self'}, {u'href': u'http://foo/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8', 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'97512c8b-4b96-4068-b4b5-211678cb84f8', 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'2018-03-12T20:57:47.040854+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8/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/97512c8b-4b96-4068-b4b5-211678cb84f8 {} 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'2018-03-12T20:57:46.882457+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.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.213831s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.136008s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': '', 'op': 'add'}] GET: /v1/nodes/detail {} POST: /v1/nodes/node-39/vifs {'id': 'c3be2f0c-374e-4e91-a81f-bedf6980ea4d'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-132142da-76a8-4805-8022-c08ab41b75ca X-Openstack-Ironic-Api-Maximum-Version: 1.38 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 ''\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.106252s] ... ok GOT:Response: 204 No Content Openstack-Request-Id: req-31acba73-d5ed-495b-8475-53e8707ad9a4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.073713s] ... ok GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8', u'rel': u'self'}, {u'href': u'http://foo/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8', 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'97512c8b-4b96-4068-b4b5-211678cb84f8', 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'2018-03-12T20:57:47.040854+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8/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/97512c8b-4b96-4068-b4b5-211678cb84f8 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8', u'rel': u'self'}, {u'href': u'http://foo/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8', 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'97512c8b-4b96-4068-b4b5-211678cb84f8', 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'2018-03-12T20:57:47.040854+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/97512c8b-4b96-4068-b4b5-211678cb84f8/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.controllers.v1.test_node.TestListNodes.test_links_public_url [0.128139s] ... ok GET: /v1/nodes?maintenance=true {} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'replace'}] POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '830dc7c1-a580-4593-9162-daf66f37556b'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e69556e-43cf-41d3-aaeb-274484a15ada X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.052269s] ... ok 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'2018-03-12T20:57:47.122727+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 {} POST: /v1/nodes/doesntexist/vifs {'id': '9a7ebc26-2fc7-49b8-b3f9-fc972c499acb'} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/bf0199ba-6c2f-4109-8c5e-64d19e8931bc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bf0199ba-6c2f-4109-8c5e-64d19e8931bc', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'bf0199ba-6c2f-4109-8c5e-64d19e8931bc'}, {u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/b921a7ff-ae34-4c8f-9797-1777c53e9b98', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b921a7ff-ae34-4c8f-9797-1777c53e9b98', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b921a7ff-ae34-4c8f-9797-1777c53e9b98'}]} GET: /v1/nodes?maintenance=false {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f5d39a7b-9ff3-411a-88a8-c184b93f5701 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.056551s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c1b2a94e-9cad-41be-aa8f-f05634879981 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-03-12T20:57:47.198941+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"}]} 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'2018-03-12T20:57:47.122727+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.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.138904s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.186643s] ... ok DELETE: /v1/nodes/node-39/vifs/03bb0242-691b-4e59-89a9-c1d6bd854140 GOT:Response: 204 No Content Openstack-Request-Id: req-40e6c57b-72fe-4188-8bff-f01d746af1db X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.049834s] ... ok GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a43d7e04-04d0-4795-9acd-f63fafb8315e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a43d7e04-04d0-4795-9acd-f63fafb8315e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a43d7e04-04d0-4795-9acd-f63fafb8315e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/35e71bf1-9885-463c-87ca-09106922048c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/35e71bf1-9885-463c-87ca-09106922048c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'35e71bf1-9885-463c-87ca-09106922048c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1a747ccf-b376-43d0-94ac-87f89b1a9011', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1a747ccf-b376-43d0-94ac-87f89b1a9011', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1a747ccf-b376-43d0-94ac-87f89b1a9011'}]} DELETE: /v1/nodes/doesntexist/vifs/64b1ac8d-a619-464a-9a08-24b61a26b7b4 {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.216558s] ... ok GET: /v1/nodes?instance_uuid=bb090016-deb7-4d6d-bb3f-ce5e203e43c3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ed798b0f-cd42-4437-b84e-7915371cd850 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.060105s] ... ok GOT:{u'nodes': []} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.060177s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.015396s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.014999s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-da476079-5d3d-48fd-9228-b7f804eaa44b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.143094s] ... ok 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'2018-03-12T20:57:47.296886+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'2018-03-12T20:57:47.296886+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.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.093724s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-31ae041a-4724-4a6a-9101-100a80d324e8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.057390s] ... ok GET: /v1/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16', 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'3c3f7750-1b18-4474-abf1-9f2216068f16', 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'2018-03-12T20:57:47.394959+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16/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/3c3f7750-1b18-4474-abf1-9f2216068f16 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16', 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'3c3f7750-1b18-4474-abf1-9f2216068f16', 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'2018-03-12T20:57:47.394959+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16/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/3c3f7750-1b18-4474-abf1-9f2216068f16 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16', 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'3c3f7750-1b18-4474-abf1-9f2216068f16', 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'2018-03-12T20:57:47.394959+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3c3f7750-1b18-4474-abf1-9f2216068f16/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.controllers.v1.test_node.TestListNodes.test_links [0.100526s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'node-0', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] DELETE: /v1/nodes/foo.1 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'2018-03-12T20:57:47.464519+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.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.065775s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 204 No Content Openstack-Request-Id: req-2e5b1c57-6374-4962-80dc-194d09f60a6d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.042024s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fb9b41d7-3c41-4f26-b49f-4c4d1769a1a5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.094042s] ... ok DELETE: /v1/nodes/foo.json 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'2018-03-12T20:57:47.511625+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?associated=true&maintenance=false {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.048794s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 204 No Content Openstack-Request-Id: req-8d1dd11d-1317-4a6a-b53c-dcbf44932eca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.038022s] ... ok 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-82438372-9d98-4869-82d6-d7306674c68a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.055041s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:{u'ports': [{u'uuid': u'dcc499b3-7bb5-4136-ba1a-809e0fa1aebd', u'links': [{u'href': u'http://localhost/v1/ports/dcc499b3-7bb5-4136-ba1a-809e0fa1aebd', u'rel': u'self'}, {u'href': u'http://localhost/ports/dcc499b3-7bb5-4136-ba1a-809e0fa1aebd', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'd4e24fda-7697-42c3-af70-92029cffac2b', u'links': [{u'href': u'http://localhost/v1/ports/d4e24fda-7697-42c3-af70-92029cffac2b', u'rel': u'self'}, {u'href': u'http://localhost/ports/d4e24fda-7697-42c3-af70-92029cffac2b', 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:Response: 202 Accepted Openstack-Request-Id: req-a4f6de7f-23bf-4ade-a680-625ccc761fc6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.033054s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] GOT:{u'ports': [{u'uuid': u'dcc499b3-7bb5-4136-ba1a-809e0fa1aebd', u'links': [{u'href': u'http://localhost/v1/ports/dcc499b3-7bb5-4136-ba1a-809e0fa1aebd', u'rel': u'self'}, {u'href': u'http://localhost/ports/dcc499b3-7bb5-4136-ba1a-809e0fa1aebd', 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=dcc499b3-7bb5-4136-ba1a-809e0fa1aebd'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.100855s] ... ok 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-3206e685-e689-451c-b17c-ce61bbf264b1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.038447s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'nodes': [{u'instance_uuid': u'ee9d1f2d-e711-4340-907d-beca0979e8f2', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/65773e6c-7e57-42fd-9d45-a4cea78f74db', u'rel': u'self'}, {u'href': u'http://localhost/nodes/65773e6c-7e57-42fd-9d45-a4cea78f74db', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'65773e6c-7e57-42fd-9d45-a4cea78f74db'}, {u'instance_uuid': u'463a9d64-cb00-43fd-b1aa-41ac9c07e09b', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/953d1b2a-f31d-4aaa-8e81-a934b97ef418', u'rel': u'self'}, {u'href': u'http://localhost/nodes/953d1b2a-f31d-4aaa-8e81-a934b97ef418', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'953d1b2a-f31d-4aaa-8e81-a934b97ef418'}, {u'instance_uuid': u'edb888dd-6f84-4a38-9879-32740a67f061', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2ebf00cc-f18b-4e51-a448-44e8cdc10f2d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2ebf00cc-f18b-4e51-a448-44e8cdc10f2d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2ebf00cc-f18b-4e51-a448-44e8cdc10f2d'}, {u'instance_uuid': u'5b93b515-e680-44bd-a7e1-4c4a6c5e3d1a', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b3de1364-77be-4cf7-8338-b5253cdf09a1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b3de1364-77be-4cf7-8338-b5253cdf09a1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b3de1364-77be-4cf7-8338-b5253cdf09a1'}]} GET: /v1/nodes?associated=true&maintenance=true {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4cfbf7bb-ec1a-4046-a98b-2e89a7beca93 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.029187s] ... ok GOT:{u'nodes': [{u'instance_uuid': u'06ecf6c1-1be5-41d3-ac79-7f79f778eb51', 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:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dcb33e6a-8614-44f0-bcaf-a871a72cdde0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2018-03-12T20:57:47.623280+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": "******"}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.084228s] ... ok GET: /v1/nodes?fields=uuid,instance_info {} 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'2018-03-12T20:57:47.663979+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.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.057134s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-88958ea6-21e9-4e24-a8ca-6cc0843c2e5f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.035150s] ... ok GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6efb1ad9-098a-4364-a8d9-6b4e9111f99b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.040132s] ... ok GOT:{u'nodes': [{u'instance_uuid': u'06ecf6c1-1be5-41d3-ac79-7f79f778eb51', 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'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.321737s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-75cfe913-1b4a-419d-982b-b92c73a63ed3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.101762s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'nodes': [{u'uuid': u'80ff976e-0f2b-4fde-b3b6-68c1729ef429', u'links': [{u'href': u'http://localhost/v1/nodes/80ff976e-0f2b-4fde-b3b6-68c1729ef429', u'rel': u'self'}, {u'href': u'http://localhost/nodes/80ff976e-0f2b-4fde-b3b6-68c1729ef429', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'ed844107-6e23-43ef-9790-138841e3f80a', u'links': [{u'href': u'http://localhost/v1/nodes/ed844107-6e23-43ef-9790-138841e3f80a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ed844107-6e23-43ef-9790-138841e3f80a', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'0f72efa1-01e2-4d18-8b9d-63bde7b2378a', u'links': [{u'href': u'http://localhost/v1/nodes/0f72efa1-01e2-4d18-8b9d-63bde7b2378a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0f72efa1-01e2-4d18-8b9d-63bde7b2378a', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.129363s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/non-existent', 'op': 'remove'}] GET: /v1/nodes/detail?resource_class=test {} /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'non-existent'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GET: /v1/nodes {} GOT:{u'nodes': []} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.048043s] ... ok 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'traits': [], 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'rescue_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'2018-03-12T20:57:47.799797+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'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ssh_creds_masked [0.054375s] ... ok GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.044102s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae54735b-8829-46f8-9110-c300c619ac4d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.077970s] ... ok GET: /v1/nodes/detail?resource_class=foo {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} 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-8bb610c4-3f51-4bec-a535-17445d7e2331 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.074539s] ... ok GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/694963f3-09d8-4010-8829-d32ce7d3486d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/694963f3-09d8-4010-8829-d32ce7d3486d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'694963f3-09d8-4010-8829-d32ce7d3486d'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/cdedc81d-4036-4944-aa72-a4057713a4ab', u'rel': u'self'}, {u'href': u'http://localhost/nodes/cdedc81d-4036-4944-aa72-a4057713a4ab', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'cdedc81d-4036-4944-aa72-a4057713a4ab'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/91788a88-a2d2-4a64-baa1-78057ad243af', u'rel': u'self'}, {u'href': u'http://localhost/nodes/91788a88-a2d2-4a64-baa1-78057ad243af', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'91788a88-a2d2-4a64-baa1-78057ad243af'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/95b8a81f-dc32-49d3-bf21-aae05c2acef5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/95b8a81f-dc32-49d3-bf21-aae05c2acef5', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'95b8a81f-dc32-49d3-bf21-aae05c2acef5'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/dd8715a2-fb8a-4973-85b0-18c95b4da244', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dd8715a2-fb8a-4973-85b0-18c95b4da244', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'dd8715a2-fb8a-4973-85b0-18c95b4da244'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.150241s] ... ok GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'973ecc05-55e3-4ec2-9f4e-314208d39232', u'links': [{u'href': u'http://localhost/v1/volume/connectors/973ecc05-55e3-4ec2-9f4e-314208d39232', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/973ecc05-55e3-4ec2-9f4e-314208d39232', 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'6376b46c-a178-438a-8548-bc71cbe18e81', u'links': [{u'href': u'http://localhost/v1/volume/connectors/6376b46c-a178-438a-8548-bc71cbe18e81', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/6376b46c-a178-438a-8548-bc71cbe18e81', 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'973ecc05-55e3-4ec2-9f4e-314208d39232', u'links': [{u'href': u'http://localhost/v1/volume/connectors/973ecc05-55e3-4ec2-9f4e-314208d39232', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/973ecc05-55e3-4ec2-9f4e-314208d39232', 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=973ecc05-55e3-4ec2-9f4e-314208d39232'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.103468s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] 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'}]} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/69369779-08b1-475b-a06c-36ae2d0b36d4', u'rel': u'self'}, {u'href': u'http://localhost/nodes/69369779-08b1-475b-a06c-36ae2d0b36d4', 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/69369779-08b1-475b-a06c-36ae2d0b36d4/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/69369779-08b1-475b-a06c-36ae2d0b36d4/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'69369779-08b1-475b-a06c-36ae2d0b36d4', 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'2018-03-12T20:57:47.888360+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/69369779-08b1-475b-a06c-36ae2d0b36d4/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/69369779-08b1-475b-a06c-36ae2d0b36d4/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.030043s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c951f092-05c9-4cbb-aebf-94efc5cb49b1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:48.004567+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.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.114439s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af6ba252-37a8-4219-8604-e2e6fea4d627 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:48.028123+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.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.070375s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1c7e03ef-9d23-441a-ab82-82c1dcf34804', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1c7e03ef-9d23-441a-ab82-82c1dcf34804', 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/1c7e03ef-9d23-441a-ab82-82c1dcf34804/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1c7e03ef-9d23-441a-ab82-82c1dcf34804/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1c7e03ef-9d23-441a-ab82-82c1dcf34804', 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'2018-03-12T20:57:47.900722+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/1c7e03ef-9d23-441a-ab82-82c1dcf34804/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1c7e03ef-9d23-441a-ab82-82c1dcf34804/ports', u'rel': u'bookmark'}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.198013s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a66073a5-2a78-4bd6-acc3-461f6483f68f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.072594s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'value': '2000-01-01 00:00:00', 'op': 'replace'}] GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0c78b130-1130-45f3-9955-c328d3b87a99', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0c78b130-1130-45f3-9955-c328d3b87a99', u'rel': u'bookmark'}], u'name': u'node-0', u'power_state': None, u'provision_state': u'available', u'uuid': u'0c78b130-1130-45f3-9955-c328d3b87a99'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7d83e4ee-301d-4dc5-821d-4f544fb7b019', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7d83e4ee-301d-4dc5-821d-4f544fb7b019', u'rel': u'bookmark'}], u'name': u'node-1', u'power_state': None, u'provision_state': u'available', u'uuid': u'7d83e4ee-301d-4dc5-821d-4f544fb7b019'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4c24f203-1c04-42b6-aa61-b7b9e137f8a6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4c24f203-1c04-42b6-aa61-b7b9e137f8a6', u'rel': u'bookmark'}], u'name': u'node-2', u'power_state': None, u'provision_state': u'available', u'uuid': u'4c24f203-1c04-42b6-aa61-b7b9e137f8a6'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/8b41e99f-d50b-402c-9c05-c832bdacd152', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8b41e99f-d50b-402c-9c05-c832bdacd152', u'rel': u'bookmark'}], u'name': u'node-3', u'power_state': None, u'provision_state': u'available', u'uuid': u'8b41e99f-d50b-402c-9c05-c832bdacd152'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ddabcd28-59cb-4273-89e1-def013525f54', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ddabcd28-59cb-4273-89e1-def013525f54', u'rel': u'bookmark'}], u'name': u'node-4', u'power_state': None, u'provision_state': u'available', u'uuid': u'ddabcd28-59cb-4273-89e1-def013525f54'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.220911s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db9db737-5cb4-426c-aac2-7b00bd7923b0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.074039s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-29410c93-e750-40b1-8055-aa946c1bf05d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:48.105148+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.controllers.v1.test_node.TestPatch.test_add_root [0.094356s] ... ok 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-eb2c48fe-8898-4d1d-be5d-a953a324ec29 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} 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'traits': [], 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'rescue_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'2018-03-12T20:57:48.126404+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.controllers.v1.test_node.TestListNodes.test_get_one [0.103743s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info {} PATCH: /v1/nodes/e345c1aa-40bc-454b-b137-aa451ae4b6e6 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.061742s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'add'}] 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'}]} GET: /v1/nodes/?limit=3&associated=True {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.114869s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fa7b485a-d0f7-4dd3-9b18-662cf3832425 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/e345c1aa-40bc-454b-b137-aa451ae4b6e6", "rel": "self"}, {"href": "http://localhost/nodes/e345c1aa-40bc-454b-b137-aa451ae4b6e6", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "e345c1aa-40bc-454b-b137-aa451ae4b6e6", "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": "2018-03-12T20:57:48.256292+00:00", "ports": [{"href": "http://localhost/v1/nodes/e345c1aa-40bc-454b-b137-aa451ae4b6e6/ports", "rel": "self"}, {"href": "http://localhost/nodes/e345c1aa-40bc-454b-b137-aa451ae4b6e6/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.086903s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e7fb740-bb2c-4612-9f90-2b77f0428a71 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:48.264240+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"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.071334s] ... ok 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.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.046501s] ... ok PATCH: /v1/nodes/1ce187b3-8f3a-4ac2-8d0e-9b1c0750be7a [{'path': '/name', 'value': 'this-is-my-node', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28e97b73-45c3-4e45-a916-3919a22ddace X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.050132s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:{u'nodes': [{u'instance_uuid': u'88dca0e3-4119-466a-964a-857a78dc0ac0', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f2d86c11-7089-4625-a1de-d5f776856d66', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f2d86c11-7089-4625-a1de-d5f776856d66', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'f2d86c11-7089-4625-a1de-d5f776856d66'}, {u'instance_uuid': u'8e44cb1a-899a-40cb-833c-6f5b5a45bb3d', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4929ed1e-1e5e-4d6d-b670-6241f3b67deb', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4929ed1e-1e5e-4d6d-b670-6241f3b67deb', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4929ed1e-1e5e-4d6d-b670-6241f3b67deb'}, {u'instance_uuid': u'5ae6f427-b386-4ace-b578-c69f23c00a2a', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3717724b-451e-401a-bc9f-72185fa14b24', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3717724b-451e-401a-bc9f-72185fa14b24', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3717724b-451e-401a-bc9f-72185fa14b24'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=3717724b-451e-401a-bc9f-72185fa14b24'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.196046s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9d76284d-b8e9-4071-b69c-eea18bb6998f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.055693s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'traits': [], 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.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.046420s] ... ok PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81477ed5-7bbb-43b6-9e0b-654139d3ba8b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.040952s] ... ok 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'2018-03-12T20:57:48.369591+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'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.042794s] ... ok 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'2018-03-12T20:57:48.397525+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 {} GET: /v1/nodes/eggs/states {} 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-b3a0d474-5e5b-4afa-b1f9-b037f5e17bf9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.039117s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't replace non-existent object 'chassis_id'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) 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'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.073117s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46e80583-a2ae-4ad4-a063-1ae063c8d5f3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-03-12T20:57:48.375539+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.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.104831s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6778b715-3741-4b8d-9511-a9eb87dac697 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.047888s] ... ok PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] 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'2018-03-12T20:57:48.397525+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.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.072729s] ... ok GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d549fcf4-2772-4fdf-bd59-f3b9be1e69b3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.080607s] ... ok PATCH: /v1/nodes/node-57.1.json [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GET: /v1/nodes?instance_uuid=ff6840b8-e74a-4154-bb94-38f943d3411c {} 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'2018-03-12T20:57:48.491234+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.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.076983s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:{u'nodes': [{u'instance_uuid': u'ff6840b8-e74a-4154-bb94-38f943d3411c', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/94b4c3c2-257a-4180-bd1e-60db702864b2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/94b4c3c2-257a-4180-bd1e-60db702864b2', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'94b4c3c2-257a-4180-bd1e-60db702864b2'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.049019s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e810a549-60cf-4916-81e3-d9e7ca1e7135 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-03-12T20:57:48.512147+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.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.086206s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c3e6438a-452c-4b3a-8e1f-c9b4190742a4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-03-12T20:57:48.530413+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.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.137276s] ... ok 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'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.056536s] ... ok PATCH: /v1/nodes/f5fbef3a-f1c8-41f4-8da0-9aa5a64d874f [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a5df0759-76df-4d08-b4d3-a9139d3c6fa0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/f35fb6fc-a479-4914-b256-9dbd3408dbaa [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} PATCH: /v1/nodes/73a6b781-bbd0-4c8c-abfc-96bf24d6e184 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}]GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'48444b2f-b137-4dec-aefb-d09cfbd4d29a', u'links': [{u'href': u'http://localhost/v1/portgroups/48444b2f-b137-4dec-aefb-d09cfbd4d29a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/48444b2f-b137-4dec-aefb-d09cfbd4d29a', u'rel': u'bookmark'}], u'name': u'pg-0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'd121bf1d-fd3f-4394-affa-378452cdec7d', u'links': [{u'href': u'http://localhost/v1/portgroups/d121bf1d-fd3f-4394-affa-378452cdec7d', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d121bf1d-fd3f-4394-affa-378452cdec7d', u'rel': u'bookmark'}], u'name': u'pg-1'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1fc93b46-5b71-46cd-8bde-6e638af308c7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/993cebed-ba8f-4eb6-9e87-097e7447598c [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'48444b2f-b137-4dec-aefb-d09cfbd4d29a', u'links': [{u'href': u'http://localhost/v1/portgroups/48444b2f-b137-4dec-aefb-d09cfbd4d29a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/48444b2f-b137-4dec-aefb-d09cfbd4d29a', 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=48444b2f-b137-4dec-aefb-d09cfbd4d29a'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.147082s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86e0d588-5253-49dc-906f-19667248a2a7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.115426s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-64e4ef39-ed37-494d-b80a-84bddd934bf1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/303560a3-d96a-4ee0-a65d-80bd0c8b57c3 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-52b0b5cf-5957-4f3b-a488-f8a91c98c14a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.048785s] ... ok 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'2018-03-12T20:57:48.662805+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.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.069518s] ... ok GET: /v1/nodes?sort_key=foo {} GET: /v1/nodes {} PATCH: /v1/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-52a137b6-197e-4624-a421-9635117e2781 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-d498425c-ea98-4ac8-89d2-10631be83baa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9916004-e5a2-479f-9380-846ce79676e4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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 {} PATCH: /v1/nodes/bfbc91f7-f1f7-4612-b949-89f9f3b44316 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68f7de52-c683-40e7-aabc-78db3cfc2fb8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-533987a4-6e4e-48c2-bfbe-0f7c6fa84a4a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-5637b776-78ab-4f1d-8754-ce9d321ebd08 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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:{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'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.121283s] ... ok 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. "} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.055550s] ... ok GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b8db6a72-8bca-4951-8f77-0863065eb826 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/f08a6a32-9140-4051-924a-06878e487706 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4cb57e58-ab2c-4641-85e1-c092b96eef4e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/83ed3330-4794-48af-9b01-5874cae1ca1c [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f0f820c-1d9b-4064-9e02-df7719485188 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/b8e84103-7b66-4ae7-a3c5-24c3ecd6a501 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-112c6224-56e7-4444-a3c4-4d94247904d9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_classic_driver_interface_fields [0.356850s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6a0b1c50-9e58-45c3-9579-1ce8807bfdf4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.061359s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c2798087-9e1b-4a4d-aebd-74d579875ce1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-e27c32c3-623b-4218-9da5-63615613b5fa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-141c8c15-9b08-4970-98d5-925db91ada62 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.148818s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4190fce5-2f4d-4baf-ba64-0ac2b1a2270d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432", "rel": "self"}, {"href": "http://localhost/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/states", "rel": "self"}, {"href": "http://localhost/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "c2ba1cff-a0e4-4ce6-b7ef-052d39508432", "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/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/volume", "rel": "self"}, {"href": "http://localhost/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:48.762902+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/ports", "rel": "self"}, {"href": "http://localhost/nodes/c2ba1cff-a0e4-4ce6-b7ef-052d39508432/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.120872s] ... ok PATCH: /v1/nodes/8f9628e7-6a4e-43e6-857c-9e9c16472af0 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5d189708-1442-4ac1-a2f9-e3b599803363 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.047704s] ... ok PATCH: /v1/nodes/be1feecd-f9d0-4fa6-bf40-eec452abc571 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] PATCH: /v1/nodes/e59f3f14-3773-4e44-bd98-40d7b3d9d5b9 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3e8805e1-de4c-4e08-84bf-24bd977dae6c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.235479s] ... ok GET: /v1/nodes?associated=False&limit=2 {} GET: /v1/nodes?associated=false {} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': 'db2d8ee8-5103-4b9b-98b4-37ff8e8486b0'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e97d022-9fc1-4936-865e-179b8715c3e8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node db2d8ee8-5103-4b9b-98b4-37ff8e8486b0 with driver fake, these node fields must be set to None: boot_interface.\"}"} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43a8338b-8799-4b89-a690-7357ba07a492 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/e59f3f14-3773-4e44-bd98-40d7b3d9d5b9", "rel": "self"}, {"href": "http://localhost/nodes/e59f3f14-3773-4e44-bd98-40d7b3d9d5b9", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/e59f3f14-3773-4e44-bd98-40d7b3d9d5b9/states", "rel": "self"}, {"href": "http://localhost/nodes/e59f3f14-3773-4e44-bd98-40d7b3d9d5b9/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "e59f3f14-3773-4e44-bd98-40d7b3d9d5b9", "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": "2018-03-12T20:57:49.048502+00:00", "ports": [{"href": "http://localhost/v1/nodes/e59f3f14-3773-4e44-bd98-40d7b3d9d5b9/ports", "rel": "self"}, {"href": "http://localhost/nodes/e59f3f14-3773-4e44-bd98-40d7b3d9d5b9/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.119308s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '37ddd331-8cb3-4d8f-9ff3-75f5c544ba90'} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ed023362-bfef-4c3b-9f47-ce9468221f5e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ed023362-bfef-4c3b-9f47-ce9468221f5e', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ed023362-bfef-4c3b-9f47-ce9468221f5e'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/50a532a7-d9bc-46db-a611-8c4d9428936f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/50a532a7-d9bc-46db-a611-8c4d9428936f', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'50a532a7-d9bc-46db-a611-8c4d9428936f'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=2&marker=50a532a7-d9bc-46db-a611-8c4d9428936f'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.212822s] ... ok PATCH: /v1/nodes/0827be61-20c7-4616-9265-65ffeb6f10fc [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4452ccfd-7e44-40cc-a917-b66b85f866da X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.077703s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5f516e57-6495-4a29-93c0-a30feb2ff9d1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 37ddd331-8cb3-4d8f-9ff3-75f5c544ba90 with driver fake, these node fields must be set to None: console_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '5bef4996-df5e-4a36-b107-34ddbd7b8a9a'} GET: /v1/nodes/validate?node=spam {} GOT:{} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': None, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.054416s] ... ok GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9da8850b-e9a9-4696-a790-4d1db452eee0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9da8850b-e9a9-4696-a790-4d1db452eee0', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9da8850b-e9a9-4696-a790-4d1db452eee0'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/37a2a4cd-92d8-4614-a6bd-af7dbd88958c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/37a2a4cd-92d8-4614-a6bd-af7dbd88958c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'37a2a4cd-92d8-4614-a6bd-af7dbd88958c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c7d0df20-b888-414c-bd87-9b166c4e09cc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c7d0df20-b888-414c-bd87-9b166c4e09cc', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c7d0df20-b888-414c-bd87-9b166c4e09cc'}]} GET: /v1/nodes?associated=FALSE {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5f49b502-c75a-4f65-a10c-b8d16094edc3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 5bef4996-df5e-4a36-b107-34ddbd7b8a9a 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', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '9635fad6-12fb-41f5-ab81-dc740b3ec3e5'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-477b02c5-dc11-44fa-8320-5c55ecc2fe71 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 9635fad6-12fb-41f5-ab81-dc740b3ec3e5 with driver fake, these node fields must be set to None: inspect_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '6635e7e7-a9db-40cd-9f4c-161dd5a1040e'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-0f20545e-c5db-43a9-86be-2684deb68521 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e5719a0-b8cf-48c0-bb59-763aefcb949f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 6635e7e7-a9db-40cd-9f4c-161dd5a1040e with driver fake, these node fields must be set to None: management_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'power_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '0993e1c8-ab8b-4ec0-8161-6afca8b32176'} 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'2018-03-12T20:57:49.241870+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.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.053533s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e79c52d-a2af-47b1-b891-e547a45b08ff X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 0993e1c8-ab8b-4ec0-8161-6afca8b32176 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', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '9d753047-3f41-47d7-98b1-18726cc36d05'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ce786ac-5a26-4de6-99ed-41a06aaea8b1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 9d753047-3f41-47d7-98b1-18726cc36d05 with driver fake, these node fields must be set to None: raid_interface.\"}"} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/9da8850b-e9a9-4696-a790-4d1db452eee0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/9da8850b-e9a9-4696-a790-4d1db452eee0', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'9da8850b-e9a9-4696-a790-4d1db452eee0'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/37a2a4cd-92d8-4614-a6bd-af7dbd88958c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/37a2a4cd-92d8-4614-a6bd-af7dbd88958c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'37a2a4cd-92d8-4614-a6bd-af7dbd88958c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c7d0df20-b888-414c-bd87-9b166c4e09cc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c7d0df20-b888-414c-bd87-9b166c4e09cc', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c7d0df20-b888-414c-bd87-9b166c4e09cc'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.509772s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake', 'uuid': '039a443f-0b6c-4940-b156-8f0a0ed37457'} 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, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1e3b3a9c-acba-4d17-8738-367190f4d0bc'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1e3b3a9c-acba-4d17-8738-367190f4d0bc Openstack-Request-Id: req-bfacb4f8-ab6a-46ae-890f-1b8c3d719a93 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/1e3b3a9c-acba-4d17-8738-367190f4d0bc", "rel": "self"}, {"href": "http://localhost/nodes/1e3b3a9c-acba-4d17-8738-367190f4d0bc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1e3b3a9c-acba-4d17-8738-367190f4d0bc", "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/1e3b3a9c-acba-4d17-8738-367190f4d0bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/1e3b3a9c-acba-4d17-8738-367190f4d0bc/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1e3b3a9c-acba-4d17-8738-367190f4d0bc {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1e3b3a9c-acba-4d17-8738-367190f4d0bc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1e3b3a9c-acba-4d17-8738-367190f4d0bc', 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'1e3b3a9c-acba-4d17-8738-367190f4d0bc', 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/1e3b3a9c-acba-4d17-8738-367190f4d0bc/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1e3b3a9c-acba-4d17-8738-367190f4d0bc/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.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.137488s] ... ok GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'731c5d5a-fb6c-435a-a0a5-e73a91288dfa', u'links': [{u'href': u'http://localhost/v1/volume/targets/731c5d5a-fb6c-435a-a0a5-e73a91288dfa', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/731c5d5a-fb6c-435a-a0a5-e73a91288dfa', 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'c8e9313e-2ba7-4dd8-be00-213269ace7a5', u'links': [{u'href': u'http://localhost/v1/volume/targets/c8e9313e-2ba7-4dd8-be00-213269ace7a5', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c8e9313e-2ba7-4dd8-be00-213269ace7a5', 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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0511e33b-97b8-4d8e-9a9f-5f6b761a299e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 039a443f-0b6c-4940-b156-8f0a0ed37457 with driver fake, these node fields must be set to None: vendor_interface.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_classic_driver_specify_interface [0.370185s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d810797-fd24-4bf9-911c-475efcbaa2bf X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.023779s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'foo': 123}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}GET: /v1/nodes/volume/connectors {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'731c5d5a-fb6c-435a-a0a5-e73a91288dfa', u'links': [{u'href': u'http://localhost/v1/volume/targets/731c5d5a-fb6c-435a-a0a5-e73a91288dfa', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/731c5d5a-fb6c-435a-a0a5-e73a91288dfa', 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=731c5d5a-fb6c-435a-a0a5-e73a91288dfa'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.208317s] ... ok GET: /v1/nodes/volume/targets {} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-66eb99df-224a-4016-b26a-338bbb933374 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:49.373845+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'2018-03-12T20:57:49.373845+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.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.072523s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-73c9744e-9432-48ce-82d5-49d6cddbe799 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.114052s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb05a4fc-3e07-441c-8c96-917a42dc0644 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.069922s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-c80888ec-17b7-4664-b86a-fd9bf52b1a5b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:49.493766+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'2018-03-12T20:57:49.493766+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'******'}}GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84d2bab2-402a-4b62-9d3f-ad0b27dcdc24 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.081264s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.166470s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.048090s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'foo'} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'neutron'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-fd08d8ac-d84a-4fe2-bc97-7ba46d1d5c53 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.099480s] ... ok GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} 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-c3532629-d2dc-4482-ab1e-ccf3490c4c50 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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'].\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.055756s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b2f2dbb-99ca-44ae-b58f-aacf77614f57 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.050615s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a2d0addc-a912-4c76-8fe2-cc8d98537d5b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.083835s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'foo', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeObject.test_node_init [0.026946s] ... ok PATCH: /v1/nodes/41d62c8e-4c0f-45ef-aa10-ff14d61348b4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-9a8ce7f8-9cd9-4aa1-a7d1-77bfb664eda6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:49.560849+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'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'resource_class': None, u'created_at': u'2018-03-12T20:57:49.560849+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'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.085581s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef532dd9-9797-4c7d-8f9b-2ec7358d7ff8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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'].\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.067036s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fc317b60-0702-4edb-a6a0-3b30764fec53 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.035296s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7699f23d-e60e-463a-8b6e-58998a26330e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 41d62c8e-4c0f-45ef-aa10-ff14d61348b4 can not be updated while a state transition is in progress.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.079808s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'i am invalid', 'op': 'add'}] 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-a057a940-a053-4191-9441-c47511bd6c9b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.071976s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7f26de3-167c-4563-add4-35c149d0139c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.147218s] ... ok 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-0bacb03c-c5f2-4a99-8a66-dd9f8480a1ee X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'}] PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14654a19-9bee-44a8-8523-7566bb0b5901 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-ff37e852-da9c-4df3-867f-459ac6d41f1c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-949523c7-b93b-4dc0-9b39-c0396a055b2f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-e1c18fc5-fb7a-4446-adfb-292f5b7e8b1f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-90f6dedf-0fd0-4b53-8766-0a358e47c355 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.335705s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a083287b-9046-49c1-bc92-56f4b6ab2067 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:49.911811+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": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.195578s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] PATCH: /v1/nodes/f2aa130d-2c9e-4467-afaa-7dc1671a07c3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6539179b-5e45-4d8e-b156-1e9a5bf6eb28 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.080452s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-60b77eea-4ad7-43fd-bf4a-59546c7f47e9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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"}], "traits": [], "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, "rescue_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": "2018-03-12T20:57:49.787260+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'traits': [], 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'rescue_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'2018-03-12T20:57:49.787260+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.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.213970s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-af1c5691-044e-4144-93de-4e19effb05fe X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.191952s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad2910d0-f72d-44b3-86d3-364dc34b99ac X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/f2aa130d-2c9e-4467-afaa-7dc1671a07c3", "rel": "self"}, {"href": "http://localhost/nodes/f2aa130d-2c9e-4467-afaa-7dc1671a07c3", "rel": "bookmark"}], "target_provision_state": "active", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "f2aa130d-2c9e-4467-afaa-7dc1671a07c3", "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": "2018-03-12T20:57:50.158921+00:00", "ports": [{"href": "http://localhost/v1/nodes/f2aa130d-2c9e-4467-afaa-7dc1671a07c3/ports", "rel": "self"}, {"href": "http://localhost/nodes/f2aa130d-2c9e-4467-afaa-7dc1671a07c3/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.205892s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'resource_class': 'foo', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} 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-81878bc6-887e-4661-9f97-1aa4e61b4b93 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.121954s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0daf003d-333a-4151-85b1-8da554aeed58 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.1", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2018-03-12T20:57:50.274042+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"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.085623s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-121af5a2-3dbf-4b5f-8c75-528f84cb9e0f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.116593s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-51095003-da55-4930-8a8d-666a26236527 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.096197s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'chassis_id'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce461acf-e44d-4290-af6f-df706bf6e059 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.056020s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-e995e2ed-c3c2-47a8-b7e3-4b962c606439 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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"}], "traits": [], "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, "rescue_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": "2018-03-12T20:57:50.354690+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'traits': [], 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'rescue_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'2018-03-12T20:57:50.354690+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.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.325132s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Windows ME', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] 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-0e79c211-213b-42ae-bbf9-a427f75228dd X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.035270s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'resource_class': 'foo', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e982d890-90e2-4c0b-95f5-31000277ef01 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.022951s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'traits': ['CUSTOM_4'], 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-488fce44-4fc7-4c29-98ed-5b531f26072f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot specify node traits on node creation. Traits must be set via the node traits API.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.024209s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9793feea-d30f-4b59-b2b8-b253acd45fce X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.159372s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd49ca69-6bd4-4a54-b17a-3ce37d5dc496 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:50.589855+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": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.061748s] ... ok 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-3f7c00e1-5c71-4646-ac59-1c0e10ecc406 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.098808s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-413c5aa3-c83c-46ff-b3bf-f64171337362 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:50.543814+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'2018-03-12T20:57:50.543814+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.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.080039s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] PATCH: /v1/nodes/cc86b6aa-243b-48c4-aa31-c68a8bf818c1 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0107531-f26a-4c00-b591-c76d13501eef X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/cc86b6aa-243b-48c4-aa31-c68a8bf818c1", "rel": "self"}, {"href": "http://localhost/nodes/cc86b6aa-243b-48c4-aa31-c68a8bf818c1", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "cc86b6aa-243b-48c4-aa31-c68a8bf818c1", "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": "2018-03-12T20:57:50.664575+00:00", "ports": [{"href": "http://localhost/v1/nodes/cc86b6aa-243b-48c4-aa31-c68a8bf818c1/ports", "rel": "self"}, {"href": "http://localhost/nodes/cc86b6aa-243b-48c4-aa31-c68a8bf818c1/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.063407s] ... ok 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-b7e10204-6152-4772-be0c-e10d80de6d78 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.051397s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-70c32064-bfa9-4e6b-a169-d45f73773fe2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:50.643016+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'2018-03-12T20:57:50.643016+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'}}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_instance_info [0.090566s] ... ok PATCH: /v1/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-555f847f-e084-4e16-83dd-2b99c14f0867 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a", "rel": "self"}, {"href": "http://localhost/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a/states", "rel": "self"}, {"href": "http://localhost/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "3e14e1c1-e031-4b65-bb78-e76af041655a", "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/3e14e1c1-e031-4b65-bb78-e76af041655a/volume", "rel": "self"}, {"href": "http://localhost/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:50.780452+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a/ports", "rel": "self"}, {"href": "http://localhost/nodes/3e14e1c1-e031-4b65-bb78-e76af041655a/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.controllers.v1.test_node.TestPatch.test_update_network_interface [0.063605s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d514cbae-8287-47b3-9998-1d13c10e4f67 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:50.741944+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.controllers.v1.test_node.TestPatch.test_remove_ok [0.223363s] ... ok 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-3258aa4c-1406-4fcd-b915-2e0436ddf4b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_remove_uuid [0.137090s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'value': True, 'op': 'replace'}] POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-72559c5b-e6c6-45aa-ab3b-9b83809cd648 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:50.744762+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'2018-03-12T20:57:50.744762+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.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.103875s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5b8b0e70-797d-4dfb-8dc3-676eaa1983a9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.126958s] ... ok 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-b182003a-b6e3-4dcb-bf12-4ae8fcf138f6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:50.833540+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": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.076193s] ... ok 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-19f7c598-9652-4cc4-a135-6a3fd6c63869 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: __init__() takes exactly 1 argument (2 given)\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.035973s] ... ok PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b2d3772-4703-48b3-8a33-935f34e7061f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.1 could not be found.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.067064s] ... ok 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-76ded3b6-a279-40a3-88ea-873ecb18cb93 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.138279s] ... ok 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-179d6830-0d78-4dcd-9de7-612e48ffa866 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.205981s] ... ok 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-597cce51-74c6-43af-bb3c-eea4f75139d9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.038879s] ... ok PATCH: /v1/nodes/eb6f73c0-4dd2-4e2e-a837-7c94cc094664 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55558dc7-5799-4017-a275-b686df2bcbf8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/eb6f73c0-4dd2-4e2e-a837-7c94cc094664", "rel": "self"}, {"href": "http://localhost/nodes/eb6f73c0-4dd2-4e2e-a837-7c94cc094664", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/eb6f73c0-4dd2-4e2e-a837-7c94cc094664/states", "rel": "self"}, {"href": "http://localhost/nodes/eb6f73c0-4dd2-4e2e-a837-7c94cc094664/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "eb6f73c0-4dd2-4e2e-a837-7c94cc094664", "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": "2018-03-12T20:57:50.921676+00:00", "ports": [{"href": "http://localhost/v1/nodes/eb6f73c0-4dd2-4e2e-a837-7c94cc094664/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb6f73c0-4dd2-4e2e-a837-7c94cc094664/ports", "rel": "bookmark"}], "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.063825s] ... ok PATCH: /v1/nodes/8461dbb1-e4c0-4af6-a3de-72c90fe17f27 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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-6b7a1e04-690d-4d51-b30b-d5178d836365 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.058347s] ... ok 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-257ac8d1-8752-45e2-8081-f42d8733e1af X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPatch.test_update_state [0.041458s] ... ok 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-4bfb22e8-d88f-452b-98dd-de8e406ff47d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.038855s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9e4d73e5-5841-418d-b95e-55c6f8ba11f5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.029348s] ... ok 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-43ecfd55-0c2c-4dec-9517-0f45a4afd10f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.044142s] ... ok 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-e424ca89-1d30-4520-9b24-ca6def797de9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-1409ac39-d82c-406a-b5ca-7ded55e0fa1c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.066147s] ... ok PUT: /v1/nodes/node-39/states/power {'target': 'power on'} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-ea3907cb-a2c3-4357-ae68-b3bada34bf83 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:51.032661+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'2018-03-12T20:57:51.032661+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'2018-03-12T20:57:51.032661+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'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.107383s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 0, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-de6f1c8d-dd6f-46c6-9779-c814ddcc7515 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.024200s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-2c475fbe-333a-4cb6-9d19-27e6c6511994 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.335186s] ... ok PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4e1172cf-5414-46f7-bbc5-2d49d503e5f4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.117838s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-913f4375-f807-47f2-abca-6b2e5795d015 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:51.173258+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": "******"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.069857s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5782f684-c622-4cc9-8a32-a864e4ea8141 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.122751s] ... ok 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-f8a98ab8-ae73-4d8e-8621-4341e0ccf5cc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.162499s] ... ok 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-79442421-3f32-4fe8-aad5-512d1ed3a0a5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.108728s] ... ok 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-4120fda5-5219-4cab-87a3-5843ab346b32 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.135314s] ... ok 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-130e12de-dc48-4bd9-8b05-832383f690cb X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.124166s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b37d4d12-a76f-4098-b96c-429f74bd30f6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/8461dbb1-e4c0-4af6-a3de-72c90fe17f27", "rel": "self"}, {"href": "http://localhost/nodes/8461dbb1-e4c0-4af6-a3de-72c90fe17f27", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "8461dbb1-e4c0-4af6-a3de-72c90fe17f27", "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": "2018-03-12T20:57:51.373503+00:00", "ports": [{"href": "http://localhost/v1/nodes/8461dbb1-e4c0-4af6-a3de-72c90fe17f27/ports", "rel": "self"}, {"href": "http://localhost/nodes/8461dbb1-e4c0-4af6-a3de-72c90fe17f27/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/96ca608a-9d1a-4c23-bbeb-359c47ee4a39 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e6636bd-e9fa-4f42-9ad5-124a6f37c92c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/96ca608a-9d1a-4c23-bbeb-359c47ee4a39", "rel": "self"}, {"href": "http://localhost/nodes/96ca608a-9d1a-4c23-bbeb-359c47ee4a39", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspecting", "uuid": "96ca608a-9d1a-4c23-bbeb-359c47ee4a39", "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": "2018-03-12T20:57:51.516307+00:00", "ports": [{"href": "http://localhost/v1/nodes/96ca608a-9d1a-4c23-bbeb-359c47ee4a39/ports", "rel": "self"}, {"href": "http://localhost/nodes/96ca608a-9d1a-4c23-bbeb-359c47ee4a39/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/10ba92e9-8f9b-4fc3-a864-d1feca68e3fb [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db0aeb93-4090-423e-bb59-a1cb745df8df X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/10ba92e9-8f9b-4fc3-a864-d1feca68e3fb", "rel": "self"}, {"href": "http://localhost/nodes/10ba92e9-8f9b-4fc3-a864-d1feca68e3fb", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspect failed", "uuid": "10ba92e9-8f9b-4fc3-a864-d1feca68e3fb", "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": "2018-03-12T20:57:51.588829+00:00", "ports": [{"href": "http://localhost/v1/nodes/10ba92e9-8f9b-4fc3-a864-d1feca68e3fb/ports", "rel": "self"}, {"href": "http://localhost/nodes/10ba92e9-8f9b-4fc3-a864-d1feca68e3fb/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/41295e1e-125c-4875-b919-c4e6945f8e9d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-785def85-1578-4d6e-9e77-4c21b09c5080 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/41295e1e-125c-4875-b919-c4e6945f8e9d", "rel": "self"}, {"href": "http://localhost/nodes/41295e1e-125c-4875-b919-c4e6945f8e9d", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "clean failed", "uuid": "41295e1e-125c-4875-b919-c4e6945f8e9d", "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": "2018-03-12T20:57:51.617594+00:00", "ports": [{"href": "http://localhost/v1/nodes/41295e1e-125c-4875-b919-c4e6945f8e9d/ports", "rel": "self"}, {"href": "http://localhost/nodes/41295e1e-125c-4875-b919-c4e6945f8e9d/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/e8782786-ec61-42f9-a565-d7b59b80d823 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-346e402f-7f1c-4eb3-8b68-07a714acd725 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/e8782786-ec61-42f9-a565-d7b59b80d823", "rel": "self"}, {"href": "http://localhost/nodes/e8782786-ec61-42f9-a565-d7b59b80d823", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "error", "uuid": "e8782786-ec61-42f9-a565-d7b59b80d823", "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": "2018-03-12T20:57:51.649665+00:00", "ports": [{"href": "http://localhost/v1/nodes/e8782786-ec61-42f9-a565-d7b59b80d823/ports", "rel": "self"}, {"href": "http://localhost/nodes/e8782786-ec61-42f9-a565-d7b59b80d823/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/6e7fd0ab-0d75-43a7-9420-916410da340c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7d6792b-6f09-489a-bf57-605192eb5c63 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/6e7fd0ab-0d75-43a7-9420-916410da340c", "rel": "self"}, {"href": "http://localhost/nodes/6e7fd0ab-0d75-43a7-9420-916410da340c", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "verifying", "uuid": "6e7fd0ab-0d75-43a7-9420-916410da340c", "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": "2018-03-12T20:57:51.678224+00:00", "ports": [{"href": "http://localhost/v1/nodes/6e7fd0ab-0d75-43a7-9420-916410da340c/ports", "rel": "self"}, {"href": "http://localhost/nodes/6e7fd0ab-0d75-43a7-9420-916410da340c/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/9241ddb5-dd19-477c-9825-342829b5a868 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f511ddf6-6721-4234-8eac-c245f01cf6ce X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/9241ddb5-dd19-477c-9825-342829b5a868", "rel": "self"}, {"href": "http://localhost/nodes/9241ddb5-dd19-477c-9825-342829b5a868", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "adopt failed", "uuid": "9241ddb5-dd19-477c-9825-342829b5a868", "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": "2018-03-12T20:57:51.706545+00:00", "ports": [{"href": "http://localhost/v1/nodes/9241ddb5-dd19-477c-9825-342829b5a868/ports", "rel": "self"}, {"href": "http://localhost/nodes/9241ddb5-dd19-477c-9825-342829b5a868/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/0e704e3d-72f4-40e7-a921-05c5e3c78c77 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c666f19b-67d0-481d-afb9-1ae4ca15d21d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/0e704e3d-72f4-40e7-a921-05c5e3c78c77", "rel": "self"}, {"href": "http://localhost/nodes/0e704e3d-72f4-40e7-a921-05c5e3c78c77", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "rescue failed", "uuid": "0e704e3d-72f4-40e7-a921-05c5e3c78c77", "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": "2018-03-12T20:57:51.736068+00:00", "ports": [{"href": "http://localhost/v1/nodes/0e704e3d-72f4-40e7-a921-05c5e3c78c77/ports", "rel": "self"}, {"href": "http://localhost/nodes/0e704e3d-72f4-40e7-a921-05c5e3c78c77/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/cc482903-06a2-49b1-afc0-0dd57bb46d62 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59d71b38-9123-40ba-8664-6b73f62383a0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/cc482903-06a2-49b1-afc0-0dd57bb46d62", "rel": "self"}, {"href": "http://localhost/nodes/cc482903-06a2-49b1-afc0-0dd57bb46d62", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "unrescue failed", "uuid": "cc482903-06a2-49b1-afc0-0dd57bb46d62", "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": "2018-03-12T20:57:51.765615+00:00", "ports": [{"href": "http://localhost/v1/nodes/cc482903-06a2-49b1-afc0-0dd57bb46d62/ports", "rel": "self"}, {"href": "http://localhost/nodes/cc482903-06a2-49b1-afc0-0dd57bb46d62/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bcd89a06-f62f-4ff8-918a-e8dba2489962 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e36383b2-b71f-456b-813f-92c7b6ab2ff0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-930bf53f-735e-44b5-a713-a08c24383558 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-92e9f006-9bcc-484e-bc81-3dbc92aa938a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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', 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cf5c3908-6de4-4df1-85d2-285c0b240a8e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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', 'power_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-76ef03c6-c4dd-477e-b3ad-40c8ff0491b3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-533d4380-1cbf-411c-a935-0bd8eb65297f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5eea0aae-5606-4b4d-af2f-445eaf507522 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.482929s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.555423s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ef122336-098c-45af-a292-829d47421c10 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.229851s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide'} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'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', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-ca93ac41-986a-4252-b68d-b24bf29d6453 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:51.825346+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'2018-03-12T20:57:51.825346+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.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.379369s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e3add4f4-2fe1-4eb1-bd4e-56a6bce80eac X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.232534s] ... ok 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-08184907-91a7-4680-add8-6e07ed577410 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.237655s] ... ok 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.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.136296s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'not-supported'} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-266a9be2-8647-4e10-8d9e-30b9dbe3083e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.132529s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.133009s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3625a6d8-2d6a-413e-8166-2c2dffb5a7d0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.128442s] ... ok 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-f0392c84-2f7e-4452-81f3-941f6c2ee3a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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).\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.151720s] ... ok 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-96ec66d2-675f-4c10-8196-6c053f688ded X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.177036s] ... ok 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-c0d148b5-9b0f-4878-834c-cde30bc5a366 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.060607s] ... ok 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-71d6b104-479c-47ca-b653-6efd3ef7f99d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.070356s] ... ok 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-cb8151d7-1b3f-44ae-bdba-0a030024fc86 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.097104s] ... ok PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} 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-9f806646-000d-4267-8b89-95994d862935 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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: 204 No Content Openstack-Request-Id: req-aa5a0c30-9958-4c2b-a68a-7a656cb06a6a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.161644s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7b57ea35-19fc-4351-8052-0c11a1d423a5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-ffe1e820-b4a8-494a-97dd-93fc231c41bd X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.559434s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} 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-78326e0b-7a4e-4ca4-8838-1e5bd83ee5eb X-Openstack-Ironic-Api-Maximum-Version: 1.38 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).\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.184627s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12de96d7-cbc1-4dd4-9743-86ffef67ff3b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-5766e37e-c8ea-475f-a866-48179b5b8466 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'} PUT: /v1/nodes/node-39/traits/bad_trait {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6610dd4e-9c3f-40cc-83f0-0afb013dee0e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.238547s] ... ok 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-2817b06d-853a-408d-83e2-17795b684902 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.175076s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'boot_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '45077ca2-f31c-4027-b3d7-16fb7870b60d'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d Openstack-Request-Id: req-932eab8a-5b77-4206-9dd9-3b4b98aa5a0a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d", "rel": "self"}, {"href": "http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/states", "rel": "self"}, {"href": "http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "45077ca2-f31c-4027-b3d7-16fb7870b60d", "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", "volume": [{"href": "http://localhost/v1/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/volume", "rel": "self"}, {"href": "http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/45077ca2-f31c-4027-b3d7-16fb7870b60d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/ports", "rel": "self"}, {"href": "http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/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/45077ca2-f31c-4027-b3d7-16fb7870b60d {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d', 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/45077ca2-f31c-4027-b3d7-16fb7870b60d/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'45077ca2-f31c-4027-b3d7-16fb7870b60d', 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'volume': [{u'href': u'http://localhost/v1/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/45077ca2-f31c-4027-b3d7-16fb7870b60d/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/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/45077ca2-f31c-4027-b3d7-16fb7870b60d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/45077ca2-f31c-4027-b3d7-16fb7870b60d/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '03a74574-d91c-4acc-ab71-f2c761db4ca3'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3 Openstack-Request-Id: req-4eb534e3-cd4d-4438-80c7-d367216bb595 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3", "rel": "self"}, {"href": "http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/states", "rel": "self"}, {"href": "http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "03a74574-d91c-4acc-ab71-f2c761db4ca3", "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", "volume": [{"href": "http://localhost/v1/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/volume", "rel": "self"}, {"href": "http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/03a74574-d91c-4acc-ab71-f2c761db4ca3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/ports", "rel": "self"}, {"href": "http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/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/03a74574-d91c-4acc-ab71-f2c761db4ca3 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3', 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/03a74574-d91c-4acc-ab71-f2c761db4ca3/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'03a74574-d91c-4acc-ab71-f2c761db4ca3', 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'volume': [{u'href': u'http://localhost/v1/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/03a74574-d91c-4acc-ab71-f2c761db4ca3/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/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/03a74574-d91c-4acc-ab71-f2c761db4ca3/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/03a74574-d91c-4acc-ab71-f2c761db4ca3/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'deploy_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e Openstack-Request-Id: req-a7599a1d-e1bc-4e8b-be37-909a8490e7ae X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e", "rel": "self"}, {"href": "http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/states", "rel": "self"}, {"href": "http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e", "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", "volume": [{"href": "http://localhost/v1/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/volume", "rel": "self"}, {"href": "http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/ports", "rel": "self"}, {"href": "http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/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/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e', 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/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e', 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'volume': [{u'href': u'http://localhost/v1/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/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/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1b0056af-d4d0-436b-83bb-7f2f7cb8bf0e/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '244be6ae-4942-4926-acbe-fdd142d84733'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/244be6ae-4942-4926-acbe-fdd142d84733 Openstack-Request-Id: req-945d273d-52b9-4ab3-9e3f-61eb193a5e47 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/244be6ae-4942-4926-acbe-fdd142d84733", "rel": "self"}, {"href": "http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/244be6ae-4942-4926-acbe-fdd142d84733/states", "rel": "self"}, {"href": "http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "244be6ae-4942-4926-acbe-fdd142d84733", "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", "volume": [{"href": "http://localhost/v1/nodes/244be6ae-4942-4926-acbe-fdd142d84733/volume", "rel": "self"}, {"href": "http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/244be6ae-4942-4926-acbe-fdd142d84733/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/244be6ae-4942-4926-acbe-fdd142d84733/ports", "rel": "self"}, {"href": "http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/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/244be6ae-4942-4926-acbe-fdd142d84733 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/244be6ae-4942-4926-acbe-fdd142d84733', u'rel': u'self'}, {u'href': u'http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733', 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/244be6ae-4942-4926-acbe-fdd142d84733/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'244be6ae-4942-4926-acbe-fdd142d84733', 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'volume': [{u'href': u'http://localhost/v1/nodes/244be6ae-4942-4926-acbe-fdd142d84733/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/244be6ae-4942-4926-acbe-fdd142d84733/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/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/244be6ae-4942-4926-acbe-fdd142d84733/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/244be6ae-4942-4926-acbe-fdd142d84733/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '86a3cef9-311b-4340-a946-72fb6d6dfb4a'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a Openstack-Request-Id: req-6211788e-a2ca-4250-bfab-b3dfb003f8ca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a", "rel": "self"}, {"href": "http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/states", "rel": "self"}, {"href": "http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "86a3cef9-311b-4340-a946-72fb6d6dfb4a", "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", "volume": [{"href": "http://localhost/v1/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/volume", "rel": "self"}, {"href": "http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/86a3cef9-311b-4340-a946-72fb6d6dfb4a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/ports", "rel": "self"}, {"href": "http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/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/86a3cef9-311b-4340-a946-72fb6d6dfb4a {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a', 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/86a3cef9-311b-4340-a946-72fb6d6dfb4a/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'86a3cef9-311b-4340-a946-72fb6d6dfb4a', 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'volume': [{u'href': u'http://localhost/v1/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/86a3cef9-311b-4340-a946-72fb6d6dfb4a/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/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/86a3cef9-311b-4340-a946-72fb6d6dfb4a/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/86a3cef9-311b-4340-a946-72fb6d6dfb4a/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'power_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': 'ddaabd5b-b1c9-4186-b0f1-42275205e21b'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b Openstack-Request-Id: req-3ed7f01f-4f56-415a-a794-3434f921caa9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b", "rel": "self"}, {"href": "http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/states", "rel": "self"}, {"href": "http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "ddaabd5b-b1c9-4186-b0f1-42275205e21b", "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", "volume": [{"href": "http://localhost/v1/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/volume", "rel": "self"}, {"href": "http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/ddaabd5b-b1c9-4186-b0f1-42275205e21b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/ports", "rel": "self"}, {"href": "http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/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/ddaabd5b-b1c9-4186-b0f1-42275205e21b {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b', 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/ddaabd5b-b1c9-4186-b0f1-42275205e21b/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'ddaabd5b-b1c9-4186-b0f1-42275205e21b', 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'volume': [{u'href': u'http://localhost/v1/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/ddaabd5b-b1c9-4186-b0f1-42275205e21b/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/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/ddaabd5b-b1c9-4186-b0f1-42275205e21b/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ddaabd5b-b1c9-4186-b0f1-42275205e21b/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '535f2e57-8b5c-4915-b927-367f9ddac501'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/535f2e57-8b5c-4915-b927-367f9ddac501 Openstack-Request-Id: req-acffcd6f-886b-4213-a340-0d7dcd5c3a11 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/535f2e57-8b5c-4915-b927-367f9ddac501", "rel": "self"}, {"href": "http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/states", "rel": "self"}, {"href": "http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "535f2e57-8b5c-4915-b927-367f9ddac501", "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", "volume": [{"href": "http://localhost/v1/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/volume", "rel": "self"}, {"href": "http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/535f2e57-8b5c-4915-b927-367f9ddac501/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/ports", "rel": "self"}, {"href": "http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/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/535f2e57-8b5c-4915-b927-367f9ddac501 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/535f2e57-8b5c-4915-b927-367f9ddac501', u'rel': u'self'}, {u'href': u'http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501', 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/535f2e57-8b5c-4915-b927-367f9ddac501/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'535f2e57-8b5c-4915-b927-367f9ddac501', 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'volume': [{u'href': u'http://localhost/v1/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/535f2e57-8b5c-4915-b927-367f9ddac501/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/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/535f2e57-8b5c-4915-b927-367f9ddac501/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/535f2e57-8b5c-4915-b927-367f9ddac501/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'vendor_interface': 'fake', 'uuid': 'd875d27c-b341-40e5-b7d8-a399fbd07f88'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88 Openstack-Request-Id: req-5cec729e-c38c-4b03-bd8f-c03229bb91ce X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88", "rel": "self"}, {"href": "http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/states", "rel": "self"}, {"href": "http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "d875d27c-b341-40e5-b7d8-a399fbd07f88", "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", "volume": [{"href": "http://localhost/v1/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/volume", "rel": "self"}, {"href": "http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/d875d27c-b341-40e5-b7d8-a399fbd07f88/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/ports", "rel": "self"}, {"href": "http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/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/d875d27c-b341-40e5-b7d8-a399fbd07f88 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88', 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/d875d27c-b341-40e5-b7d8-a399fbd07f88/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'd875d27c-b341-40e5-b7d8-a399fbd07f88', 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'volume': [{u'href': u'http://localhost/v1/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/d875d27c-b341-40e5-b7d8-a399fbd07f88/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/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/d875d27c-b341-40e5-b7d8-a399fbd07f88/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d875d27c-b341-40e5-b7d8-a399fbd07f88/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'uuid': '7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'network_interface': 'flat'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc Openstack-Request-Id: req-d1d5b6f5-bd28-4aea-94c8-91e56cd53f27 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc", "rel": "self"}, {"href": "http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/states", "rel": "self"}, {"href": "http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc", "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", "volume": [{"href": "http://localhost/v1/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/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/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc', 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/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc', 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'volume': [{u'href': u'http://localhost/v1/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/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/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7fd4cd55-bd88-46cb-8cf5-0360b13bd6dc/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'rescue_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '66852917-25d5-4749-a30d-6d2580cd63aa'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/66852917-25d5-4749-a30d-6d2580cd63aa Openstack-Request-Id: req-c94ba279-44ee-4872-bc33-84c4f2974095 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/66852917-25d5-4749-a30d-6d2580cd63aa", "rel": "self"}, {"href": "http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/states", "rel": "self"}, {"href": "http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "66852917-25d5-4749-a30d-6d2580cd63aa", "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", "volume": [{"href": "http://localhost/v1/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/volume", "rel": "self"}, {"href": "http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/66852917-25d5-4749-a30d-6d2580cd63aa/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/ports", "rel": "self"}, {"href": "http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/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/66852917-25d5-4749-a30d-6d2580cd63aa {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/66852917-25d5-4749-a30d-6d2580cd63aa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa', 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/66852917-25d5-4749-a30d-6d2580cd63aa/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'66852917-25d5-4749-a30d-6d2580cd63aa', 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'volume': [{u'href': u'http://localhost/v1/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/66852917-25d5-4749-a30d-6d2580cd63aa/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/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/66852917-25d5-4749-a30d-6d2580cd63aa/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/66852917-25d5-4749-a30d-6d2580cd63aa/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'noop', 'driver': 'fake-hardware', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': 'a8407d44-f9ce-4e9a-af82-0f0b6d6f8857'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857 Openstack-Request-Id: req-290a1140-73ca-4b7a-b58a-a011934a2f3a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857", "rel": "self"}, {"href": "http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/states", "rel": "self"}, {"href": "http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/states", "rel": "bookmark"}], "traits": [], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "a8407d44-f9ce-4e9a-af82-0f0b6d6f8857", "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", "volume": [{"href": "http://localhost/v1/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/volume", "rel": "self"}, {"href": "http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/volume", "rel": "bookmark"}], "raid_interface": "fake", "rescue_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/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/ports", "rel": "self"}, {"href": "http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/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/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857', 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/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/states', u'rel': u'bookmark'}], u'traits': [], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'a8407d44-f9ce-4e9a-af82-0f0b6d6f8857', 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'volume': [{u'href': u'http://localhost/v1/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/volume', u'rel': u'bookmark'}], u'raid_interface': u'fake', u'rescue_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/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/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/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a8407d44-f9ce-4e9a-af82-0f0b6d6f8857/ports', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [0.889024s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c5f0c3d7-a53c-4ab3-ac0a-106366a5832a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.086713s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d44bf45d-5135-40c6-9d6f-17c68837e07b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.080085s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': [{'interface': 'deploy', 'step': 'upgrade_firmware'}], 'target': 'clean'} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits 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.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.120311s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-37737e45-e4aa-4126-8378-2b1327389e47 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"bad\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.112625s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} PATCH: /v1/nodes/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f0afb6ec-c2ad-4333-a4d8-750c7b612b08 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4cf9eb68-a75e-466a-a9a0-cf52a0bdc121 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2c9360d-84be-4a23-bc08-12a720673191 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f76966c3-e2fd-4f88-bfc6-8dee2aef4049 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-53a11d9b-4baf-4f8b-8954-0326a3fde969 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6123ce39-594e-4d44-b789-bf92491c2ce8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-24b24dd3-9fc1-4ee6-8d60-39804bdfca83 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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/00740fc1-de93-43c0-8881-227d08f93835 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-84508cce-ba40-46e6-8f10-1f0bc2208229 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/states", "rel": "bookmark"}], "traits": [], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "00740fc1-de93-43c0-8881-227d08f93835", "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/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/volume", "rel": "bookmark"}], "raid_interface": null, "rescue_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": "2018-03-12T20:57:51.842611+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/00740fc1-de93-43c0-8881-227d08f93835/ports", "rel": "self"}, {"href": "http://localhost/nodes/00740fc1-de93-43c0-8881-227d08f93835/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.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.371794s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-32cd5b26-e993-467f-b4b6-41d33f76c091 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.072590s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b1b718f0-4fbd-48dd-8d36-7b42fedcbfaa X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:50.776139+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'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'resource_class': u'class1', u'created_at': u'2018-03-12T20:57:50.776139+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'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.352212s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} 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.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.228077s] ... ok 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-e0657c0e-60cd-4d1b-b5e0-da422f852442 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.668382s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8aa0ee0a-d830-4eb9-b576-0eb4cca58f7a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.039512s] ... ok 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-d66950b6-3653-422e-87b5-e25e6936203a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.180534s] ... ok 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-dfc6c38e-721f-478e-a2b4-64517567299f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.214500s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cdccae02-0c1d-4fad-941a-1e85a9c397bf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.147361s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.025826s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-46b0ed2c-804c-4639-b059-0f189e075688 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.045578s] ... ok PATCH: /v1/nodes/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-21a66db4-dde4-48ce-8ce4-a86381489e0e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bb119ec8-15c8-415c-96bc-e5dd42e3ae37 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-301114ec-f4b0-46a7-9001-cf954bd32341 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-eda29f04-1db7-44f5-ac75-b671ed31ffbe X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f66036f2-4ac1-4bc2-b72c-ea6d78177283 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-40b21fe6-c8c0-4fd9-bc50-74d3f1b863d7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8e7e48ea-57c0-4015-a657-6385d6aff61f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/4d2d6ab1-68d7-4f25-a59a-db3cb7b26c2e [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8ad06d56-47a2-4bcc-9eda-3fa50d1656ca X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.201192s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.022495s] ... ok PATCH: /v1/nodes/1f69d2dd-3c5d-4fc8-b10e-0b902c8d7ccb [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-332499d2-9e3f-4191-88da-97070da529bd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot update node traits via node patch. Node traits should be updated via the node traits API.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.093506s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.017981s] ... ok 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-6a02f8e9-f2c7-451c-a310-62ae6bbfdf78 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-9c1ad181-2b29-402a-af38-8aa027e0906f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-4932a40c-fe41-41b5-820c-e083c3d1289e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.365267s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.021791s] ... ok 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-d31231a4-b1c3-480e-93c5-6ab8b4730d09 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ddef1b3d-f0d2-4506-b51d-dc366cdaee00 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.070721s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.222213s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-075fa5b4-3273-4a4f-90ce-021f8e1616a7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'******'}} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.146837s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} 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-c5e02547-8fa7-4867-a6a5-da81fdc1f889 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.194439s] ... ok 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-bf356f98-38c6-4634-996f-066369f56afb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.205694s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-581e8158-ac90-4f58-b456-9f42a9b775df X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.061301s] ... ok DELETE: /v1/ports/52:54:00:cf:2d:31 PUT: /v1/nodes/node-39/states/provision {'target': 'active'} 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-5c917062-8aa1-460b-99da-abce8662e310 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.199902s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0bb1fae-72ff-4a6c-b94f-54f36e3c18df X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.065311s] ... ok 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-43792a50-badc-4874-bae8-aa74cd31f77c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.234561s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a58a4fe8-76ba-4988-9303-a40226e86251 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.137586s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} 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-2c2668ef-353a-4371-8195-e7a013c2893f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.138283s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c4026d94-3cc1-4be2-a3b6-3b414002ae9a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.103852s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'resource_class': 'class2', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-70c652db-8d61-4ea8-877f-65b9f176d998 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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/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": "flat", "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": "class2", "created_at": "2018-03-12T20:57:52.667311+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'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'resource_class': u'class2', u'created_at': u'2018-03-12T20:57:52.667311+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'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.102984s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': ' ', 'target': 'rescue'} GOT:Response: 204 No Content Openstack-Request-Id: req-00f86445-f9eb-448b-818c-879cc345d318 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.214165s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-cd819a05-00f2-4a61-a299-7a9bc7f113c1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-575a12e2-e294-40a7-9181-b917af45631d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0b0f6482-844a-4c11-ac96-2725a07e533e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-deabcc6b-3d71-4c86-a413-8188160a4f5b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-289ccb1f-42ae-46f8-b1c4-2d0d8298db7d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.229811s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2377995-93c8-4e07-8673-da9b52d92969 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.126233s] ... ok 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-897af58e-f332-4843-bfce-6a66e72593fd X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.049205s] ... ok 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-635c54c3-17f8-4e2f-a6ac-77db08f831f5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.050924s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} 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-aeaa8c18-185e-4e04-970a-a435ed7b478c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.038980s] ... ok GET: /v1/ports {} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-80f92e2e-ad7a-41de-8392-ba83eb27a34b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.066032s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-51f04411-ca56-430f-828d-6645190c8aa0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} 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-ccd5dd9a-32d1-497b-ad8c-34ac06c24db9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.095380s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7de77909-fb73-4766-9b4b-5c9f97aea0a1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'}]} 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-666f170d-b341-48fe-86de-cc2b34803928 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.050909s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-7f6e7b48-4a58-4ff9-a997-e89863d4f14b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.358616s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-15079dc7-4b50-496f-bcb5-ffe0d6bec669 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.048593s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-57c981b7-96b2-42bd-86a3-d04e5514a251 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.077744s] ... ok GOT:{u'ports': [{u'uuid': u'2408293e-1ec5-4c84-9d8f-dcaf47af8451', u'links': [{u'href': u'http://localhost/v1/ports/2408293e-1ec5-4c84-9d8f-dcaf47af8451', u'rel': u'self'}, {u'href': u'http://localhost/ports/2408293e-1ec5-4c84-9d8f-dcaf47af8451', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'54b0c935-1090-4fb4-8b17-3a0c4159007c', u'links': [{u'href': u'http://localhost/v1/ports/54b0c935-1090-4fb4-8b17-3a0c4159007c', u'rel': u'self'}, {u'href': u'http://localhost/ports/54b0c935-1090-4fb4-8b17-3a0c4159007c', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'06f0bd52-0f4c-4a63-a92b-41c2232496fd', u'links': [{u'href': u'http://localhost/v1/ports/06f0bd52-0f4c-4a63-a92b-41c2232496fd', u'rel': u'self'}, {u'href': u'http://localhost/ports/06f0bd52-0f4c-4a63-a92b-41c2232496fd', 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=06f0bd52-0f4c-4a63-a92b-41c2232496fd'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.227544s] ... ok GET: /v1/ports/detail?node=test-node {} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-f3b8c6f1-b8fb-405c-8fbf-2fa0bf719ce9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.065365s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': '', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c14f35c-85be-4173-88c3-e92b8a781fc4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.169042s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-59b5a245-0eb1-4660-b6d7-2aaa90dd1b1f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.049422s] ... ok GET: /v1/ports {} GOT:{u'ports': []} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.048313s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': '', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2c4ad1f7-ba3f-4c79-b09c-28ea29bcc50e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.043355s] ... ok 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-44d22587-228a-42c9-b8e9-43df58c2bab5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Unrecognized value 'invalid-value', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.047398s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8a7c55d2-4ba3-413e-a004-62417e6c08cc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a6d719c-5502-4d47-8d22-ce3f40d4d610 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.051537s] ... ok GET: /v1/ports?node=test-node {} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} 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-d0c22908-6a25-4ee7-887d-c07dede3f700 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.057875s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-abd7d1a7-7712-4c75-818c-d4eae3993c09 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.053773s] ... ok 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-c1e12a2e-7ecd-40ae-b4d1-319504c79a08 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.060446s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-961c3ff3-3048-40b2-9c62-fe28a98a6557 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.409397s] ... ok GET: /v1/ports?node=test-node {} PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-dbc5e9b2-74b0-4cc1-9643-956ca5420a00 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.054304s] ... ok DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-350875c2-0c31-4b53-b5f0-8129c7909692 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.070382s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': 'maintenance', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2b5e220e-ffe9-4aa1-ab4d-63460b7e5f9e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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, 'name': 'management', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f43c5d1-9abe-4e84-ae0e-890a906e463e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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, 'name': 'states', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ce48205-b4e2-417d-8792-0758883256a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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, 'name': 'vendor_passthru', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e732c62e-0827-40a0-bf24-db868ae5ad6c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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, 'name': 'validate', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2e0a5a93-94bf-42cd-a190-9b1e91c7b247 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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, 'name': 'detail', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9c75a10e-cd8f-4f08-bcdb-a7ce410729bc X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.169557s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e5751f90-c948-4342-be60-99d984ecacd7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.083203s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{u'traits': [u'CUSTOM_1', u'CUSTOM_2']} {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.095678s] ... ok PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue'} GOT:{u'ports': [{u'uuid': u'56e453fc-0dd3-4224-8a5c-b8f8ba19dc1d', u'links': [{u'href': u'http://localhost/v1/ports/56e453fc-0dd3-4224-8a5c-b8f8ba19dc1d', u'rel': u'self'}, {u'href': u'http://localhost/ports/56e453fc-0dd3-4224-8a5c-b8f8ba19dc1d', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'135f458b-7722-48ce-952a-8c96cdaee6f4', u'links': [{u'href': u'http://localhost/v1/ports/135f458b-7722-48ce-952a-8c96cdaee6f4', u'rel': u'self'}, {u'href': u'http://localhost/ports/135f458b-7722-48ce-952a-8c96cdaee6f4', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'3147d454-1dd7-44d0-b5ed-085bff1ff289', u'links': [{u'href': u'http://localhost/v1/ports/3147d454-1dd7-44d0-b5ed-085bff1ff289', u'rel': u'self'}, {u'href': u'http://localhost/ports/3147d454-1dd7-44d0-b5ed-085bff1ff289', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.108551s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-09fb7c06-64d4-4863-b004-1f3d1c9c1723 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"No body should be provided when adding a trait\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.095123s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9f18bcda-f750-4288-9d3a-df3f2338f855 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.163491s] ... ok 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'2018-03-12T20:57:55.137623+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.069332s] ... ok GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} POST: /v1/nodes {'instance_uuid': None, 'name': None, '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', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-3625768d-1433-4c91-980b-3163df063787 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:53.616305+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'2018-03-12T20:57:53.616305+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.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.142996s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {'traits': ['CUSTOM_3']} 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'2018-03-12T20:57:55.203740+00:00'}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.081597s] ... ok POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'maintenance': False, 'reservation': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-98715e51-3c2c-4297-9f59-e60bfbe80cb5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.073339s] ... ok 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-a4a49c3b-b75b-4ab8-9155-24695dbf002a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.200311s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1f9867c4-ea87-4d46-b7fb-2b089aefc3b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.150090s] ... ok 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-50ca2ec2-acc8-4cfe-a2e3-3df27f041e20 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.171631s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': []} POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-bec27894-79db-4257-8086-8fea8dfa226d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 null {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.155307s] ... ok GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "405 Method Not Allowed\n\nThe method PUT is not allowed for this resource. \n\n "} {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.036152s] ... ok GET: /v1/ports?fields=uuid,extra {} 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-86e54ccd-f539-429e-8c73-5c7731fda4b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b415dbac-f482-499c-9f72-ac97c305e3d8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.246367s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} 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-894ffc32-2311-4707-a045-9d851edaa03e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.361261s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-976685a1-b4af-4be1-8224-92040b92e890 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.040230s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-c90fdfb8-97b5-4de2-9338-6ebe402f01af X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-64be89c3-0007-440a-a5a8-07d788cef9f2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.198477s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.008930s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2047bad-38bd-4f63-ae62-5a7afb843ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.103968s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6578be7b-75b5-4191-9636-eba8f6742990 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.044785s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5baff9a1-60ef-4446-95d9-6eaa1e7a0f67 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.132257s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e9178ab5-a615-49fe-b028-81695fbd9533 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.222031s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GET: /v1/ports/?limit=3 {} GOT:{u'ports': [{u'uuid': u'91620992-9675-4144-a167-fe531a01fcdb', u'links': [{u'href': u'http://localhost/v1/ports/91620992-9675-4144-a167-fe531a01fcdb', u'rel': u'self'}, {u'href': u'http://localhost/ports/91620992-9675-4144-a167-fe531a01fcdb', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'cf8cbdb4-c456-4fda-8dee-322f48829751', u'links': [{u'href': u'http://localhost/v1/ports/cf8cbdb4-c456-4fda-8dee-322f48829751', u'rel': u'self'}, {u'href': u'http://localhost/ports/cf8cbdb4-c456-4fda-8dee-322f48829751', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'44df8275-d327-4208-8295-44d5cba8207a', u'links': [{u'href': u'http://localhost/v1/ports/44df8275-d327-4208-8295-44d5cba8207a', u'rel': u'self'}, {u'href': u'http://localhost/ports/44df8275-d327-4208-8295-44d5cba8207a', u'rel': u'bookmark'}], u'extra': {}}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.202773s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d84c98e-6b05-4ea7-9f7d-3b616574165f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.129726s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:{u'ports': [{u'uuid': u'9e404c67-e0f9-4796-864c-3b03c722a98c', u'links': [{u'href': u'http://localhost/v1/ports/9e404c67-e0f9-4796-864c-3b03c722a98c', u'rel': u'self'}, {u'href': u'http://localhost/ports/9e404c67-e0f9-4796-864c-3b03c722a98c', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'ef7c0b23-c22b-48c7-ab63-a9cac969ac9b', u'links': [{u'href': u'http://localhost/v1/ports/ef7c0b23-c22b-48c7-ab63-a9cac969ac9b', u'rel': u'self'}, {u'href': u'http://localhost/ports/ef7c0b23-c22b-48c7-ab63-a9cac969ac9b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'5fd19f9f-5f5d-4bf3-b36a-d289cd219d55', u'links': [{u'href': u'http://localhost/v1/ports/5fd19f9f-5f5d-4bf3-b36a-d289cd219d55', u'rel': u'self'}, {u'href': u'http://localhost/ports/5fd19f9f-5f5d-4bf3-b36a-d289cd219d55', 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=5fd19f9f-5f5d-4bf3-b36a-d289cd219d55'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.071006s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e57b914-16bc-48af-85db-a17d3790acdc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.057026s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b81ea475-a3ba-4585-afc6-a52e5d9e43ef X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.088249s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-197e10a2-49fa-40c0-8887-5df3c141c60d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.048598s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-15e7be56-1d56-4fd2-8234-3120fb8d818f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.088405s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} 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.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.062873s] ... ok 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-25011713-aaf5-4b52-b3fc-799bed9a89a4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.045869s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-50cfe61f-0330-40c8-8275-bdd1353c8e67 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.083040s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3fcdd458-0809-4a94-9e23-426defec813b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.062447s] ... ok 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'2018-03-12T20:57:55.607347+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.038136s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} 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'2018-03-12T20:57:55.612005+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'2018-03-12T20:57:55.612005+00:00'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.075200s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-708cc261-59a0-475a-ad9f-04946b5f3790 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.047389s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9676fc4b-894b-440f-894b-82408506eea5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.081335s] ... ok 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'2018-03-12T20:57:55.673877+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 {} GET: /v1/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd {} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} 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'2018-03-12T20:57:55.673877+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.094430s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'links': [{u'href': u'http://foo/v1/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'rel': u'self'}, {u'href': u'http://foo/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:55.703827+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd {} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-08575a62-b5d9-4583-becd-69849d89dd00 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.061051s] ... ok GOT:Response: 204 No Content Openstack-Request-Id: req-76b7e858-c165-451c-b360-54957a703d54 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.065844s] ... ok GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'links': [{u'href': u'http://foo/v1/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'rel': u'self'}, {u'href': u'http://foo/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:55.703827+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd {} 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.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.044348s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'links': [{u'href': u'http://foo/v1/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'rel': u'self'}, {u'href': u'http://foo/ports/cc9a1747-0890-4dca-9ae4-5bf3c383e7bd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:55.703827+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.134851s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states/console Openstack-Request-Id: req-d6992c53-fc39-41ff-bab8-0ca2b051d6b5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.047753s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9189d7a9-7589-4447-9b57-1b2c553e2ac3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.073399s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c85c371a-97b7-4243-8ce1-8f06b7f14bb7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.053508s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GET: /v1/ports {} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d51946a7-6cd0-4cb4-8146-d11226c23bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.056332s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b5dc1792-07ea-4df5-a1d4-da518ecde522 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.047646s] ... ok 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'}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.077602s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-6233703e-0ef4-4625-9089-d33597fd8f54 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.040417s] ... ok GOT:Response: 202 Accepted Openstack-Request-Id: req-03d2a92d-f4e6-432f-9f57-beddc6328ec9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.057132s] ... ok GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-167be7ef-4ab6-4fad-af9b-acc8b8dfeaed X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:55.849335+00:00", "updated_at": "2018-03-12T20:57:55.917575+00:00", "address": "52:54:00:cf:2d:31"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:{u'ports': [{u'uuid': u'4fc39ab6-2e5d-4b01-963d-b99abdd1e8e1', u'links': [{u'href': u'http://localhost/v1/ports/4fc39ab6-2e5d-4b01-963d-b99abdd1e8e1', u'rel': u'self'}, {u'href': u'http://localhost/ports/4fc39ab6-2e5d-4b01-963d-b99abdd1e8e1', u'rel': u'bookmark'}], u'address': u'aa:bb:cc:dd:ee:f1'}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.093790s] ... ok GOT:Response: 202 Accepted Openstack-Request-Id: req-6a59520b-06be-4fe5-b35e-82cb5a819734 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.051774s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-93a9ff4e-f3bb-452d-a368-71c485904a82 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.090063s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f907fbc-db9c-4a1a-9e06-d04444f1e785 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:55.849335+00:00", "updated_at": "2018-03-12T20:57:55.984398+00:00", "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.181157s] ... ok GOT:Response: 202 Accepted Openstack-Request-Id: req-e7d0a24a-27e6-4de1-8e09-084c38acfc3d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.052655s] ... ok GOT:{u'ports': []} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.063671s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'node_id'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32ce42e9-fb10-4c7f-8090-1b1d0b2d81eb X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.054540s] ... ok PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d75a7e17-a8ad-4971-95ad-b1060594aef2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.044031s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ebf46b37-183c-45e0-a42b-a2b1c00dd6fe X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.078866s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'non-existent'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) 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-cd3c6551-7514-4181-abcc-c61d70c9ed82 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.057290s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8ea53a3f-7ef6-4b03-ae41-af3de78eaf13 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.055508s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d6f3f18-e394-42c8-8a26-b8660dc9dc75 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\\\".\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.144900s] ... ok DELETE: /v1/nodes/node-39/traits PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] 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: 204 No Content Openstack-Request-Id: req-0e94930a-8168-40e8-aaaf-2b2a75c83ce3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.098436s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b32519d5-143d-4c97-a5f3-f33b22ff5b06 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:56.204216+00:00", "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-03-12T20:57:56.157934+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.113633s] ... ok DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8b0081b5-4805-496f-b2df-afeadac16943 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 204 No Content Openstack-Request-Id: req-42d91fef-f6aa-40fb-836a-5b8d21152160 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.069447s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4df369e-32c0-4af5-b558-4a37c372798a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:56.168101+00:00", "updated_at": "2018-03-12T20:57:56.228615+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.123892s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2d2437c6-5ec5-4a6a-a9e3-f1fd89b8cec2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] PUT: /v1/nodes/node-39/traits {'traits': []} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e78ad4df-013b-4fed-aa3b-3c4892b3bf64 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.090526s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 204 No Content Openstack-Request-Id: req-370bee92-264f-431d-9b0e-282422a2e00d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.074791s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b16e2691-3801-443c-901f-9b2bd7151a0f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.093991s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9fce5ab5-2042-4e41-98e6-6e0ec1551c8c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'rescue'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2dc4f26c-7943-40f5-a622-be49dd790d49 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.051190s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.008063s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fe2b52a8-b8cd-4635-9b02-0225b4e0d9b7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.090756s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.011502s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.013187s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-42e57d6a-6abd-4766-a51f-00e747346854 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7e94eed1-f13d-4687-aa5c-590782e6e8a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.284419s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.102266s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/f5e3798d-e151-443d-9572-06feed38e34c GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-134076aa-b300-4095-86b2-773baaa1c215 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.048863s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'rescue_password': 'password', 'target': 'active'} GET: /v1/ports/detail?node=test-node {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48599da3-d61c-4c4c-8f3c-6afe8bbecbb5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.062895s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1f322cc9-f82b-4313-8624-6c7144e796fa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.109621s] ... ok 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'2018-03-12T20:57:56.507534+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.063198s] ... ok PATCH: /v1/ports/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99fbf076-27fe-480e-8774-79f2e3a59145 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:56.538297+00:00", "physical_network": "physnet2", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-03-12T20:57:56.467494+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.153157s] ... ok GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4&node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c40bbcf9-ec75-4dbc-831b-bdbb3367bf4f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.069413s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ba84903e-1a8e-49e7-9413-c71c135f0fa8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.047278s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '6f928d47-dc4f-4d9e-97b1-8568683f9d56', 'op': 'replace'}] GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76815f64-0322-4353-bf20-2459da409bb4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.094882s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-63f70800-124e-4cbd-b8a0-cafa8cfebd3e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.048420s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True {'boot_device': 'pxe'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 204 No Content Openstack-Request-Id: req-c68801d9-b4c2-4151-aeeb-fc95d0a3405e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.102979s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52b02b35-7e87-4fff-badb-66af1ada47d9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "6f928d47-dc4f-4d9e-97b1-8568683f9d56", "updated_at": "2018-03-12T20:57:56.676444+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-03-12T20:57:56.609577+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.134112s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc7f5820-af70-4127-8da5-48c1778e748d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:56.626744+00:00", "updated_at": "2018-03-12T20:57:56.687181+00:00", "address": "52:54:00:cf:2d:31"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.116455s] ... ok 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'2018-03-12T20:57:56.670004+00:00'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.065310s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] 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'2018-03-12T20:57:56.739317+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} PATCH: /v1/ports/7335c029-d73d-4a3e-b94a-f1c07b4583ab [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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'2018-03-12T20:57:56.739317+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'foo': u'bar'}} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah {'boot_device': 'pxe'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.099266s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94fc79d0-37a5-4c42-8281-943968da978f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.085927s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c50b1137-2ab1-43dc-9d7b-94e701d6a056 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port 7335c029-d73d-4a3e-b94a-f1c07b4583ab could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.134139s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecc86ff5-4d2b-4cc2-80b7-325623180297 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:56.780683+00:00", "updated_at": "2018-03-12T20:57:56.831419+00:00", "address": "aa:bb:cc:dd:ee:ff"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.156140s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortObject.test_port_init [0.012430s] ... ok PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.013819s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0416a9c9-d0c2-4d66-95f2-b0a9b9ffc4c6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} 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'2018-03-12T20:57:56.840269+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 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.068695s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.010756s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.012798s] ... ok 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'2018-03-12T20:57:56.840269+00:00'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.102845s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake'} 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: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ea28b286-362b-49a4-8af7-ead330a70732 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.039964s] ... ok GET: /v1/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb9feb57-bff5-4c5d-8263-04846955c5e6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:56.868895+00:00", "updated_at": "2018-03-12T20:57:56.919435+00:00", "address": "aa:bb:cc:dd:ee:ff"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.095957s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.016271s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.010338s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e6c184bc-ee76-43f6-9bf3-f363478a5178', u'links': [{u'href': u'http://localhost/v1/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178', u'rel': u'self'}, {u'href': u'http://localhost/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:56.938655+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178 {} 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e71d2a92-dd26-4549-bfa8-86f059aca80d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.059385s] ... ok GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e6c184bc-ee76-43f6-9bf3-f363478a5178', u'links': [{u'href': u'http://localhost/v1/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178', u'rel': u'self'}, {u'href': u'http://localhost/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:56.938655+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/e6c184bc-ee76-43f6-9bf3-f363478a5178 {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ba957863-1cce-4e82-8336-5b420d2fca00 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:56.969666+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'2018-03-12T20:57:56.969666+00:00'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.100175s] ... ok GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e6c184bc-ee76-43f6-9bf3-f363478a5178', u'links': [{u'href': u'http://localhost/v1/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178', u'rel': u'self'}, {u'href': u'http://localhost/ports/e6c184bc-ee76-43f6-9bf3-f363478a5178', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:56.938655+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.120850s] ... ok 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'} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GET: /v1/ports/detail {} GOT:Response: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-a14e35ab-a479-4f3f-98b2-8b4bcacabd32 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.089149s] ... ok 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': 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'2018-03-12T20:57:57.062479+00:00'}]} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.080424s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb Openstack-Request-Id: req-04aa3725-d9f6-4682-ab00-1434846da336 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb", "links": [{"href": "http://localhost/v1/ports/ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb", "rel": "self"}, {"href": "http://localhost/ports/ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb", "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": "2018-03-12T20:57:57.051542+00:00"} GET: /v1/ports/ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb {} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} 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'ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb', u'links': [{u'href': u'http://localhost/v1/ports/ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb', u'rel': u'self'}, {u'href': u'http://localhost/ports/ba91e1f9-3b16-40a0-83a6-ea9fc771d5cb', 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'2018-03-12T20:57:57.051542+00:00'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3373ea5a-2144-4cfa-a3b0-3559b29d4c5a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:57.108710+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.177538s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e07e1e59-4aec-4a3d-864c-978db72de65b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.081607s] ... ok GET: /v1/ports {} 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'2018-03-12T20:57:57.108710+00:00'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.169432s] ... ok 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'} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} 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-f2c11909-b008-47cf-9fc7-065dbf3fcc33 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"too many traits\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.081668s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-78b5276d-8c53-4bf8-80a7-bd4c48ebfbdc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.113005s] ... ok GOT:{u'ports': [{u'uuid': u'8c8a5b51-ec00-43ef-9a87-bfcfbf2b6c54', u'links': [{u'href': u'http://localhost/v1/ports/8c8a5b51-ec00-43ef-9a87-bfcfbf2b6c54', u'rel': u'self'}, {u'href': u'http://localhost/ports/8c8a5b51-ec00-43ef-9a87-bfcfbf2b6c54', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'dc51888f-f161-4b57-876a-21285ceab8cb', u'links': [{u'href': u'http://localhost/v1/ports/dc51888f-f161-4b57-876a-21285ceab8cb', u'rel': u'self'}, {u'href': u'http://localhost/ports/dc51888f-f161-4b57-876a-21285ceab8cb', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'eaadc90c-8a5b-4143-80f2-8bc1f08562e5', u'links': [{u'href': u'http://localhost/v1/ports/eaadc90c-8a5b-4143-80f2-8bc1f08562e5', u'rel': u'self'}, {u'href': u'http://localhost/ports/eaadc90c-8a5b-4143-80f2-8bc1f08562e5', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'060cfd1d-0526-4548-8cc5-dbd09987ae54', u'links': [{u'href': u'http://localhost/v1/ports/060cfd1d-0526-4548-8cc5-dbd09987ae54', u'rel': u'self'}, {u'href': u'http://localhost/ports/060cfd1d-0526-4548-8cc5-dbd09987ae54', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:33'}, {u'uuid': u'b3a6df23-a373-4f08-a7cb-a64050970be6', u'links': [{u'href': u'http://localhost/v1/ports/b3a6df23-a373-4f08-a7cb-a64050970be6', u'rel': u'self'}, {u'href': u'http://localhost/ports/b3a6df23-a373-4f08-a7cb-a64050970be6', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:34'}]} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.139807s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "405 Method Not Allowed\n\nThe method PUT is not allowed for this resource. \n\n "} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.077898s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8fa350ae-3d07-43d8-a587-a23527206d57 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:57.230417+00:00"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.129105s] ... ok 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. "} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.036287s] ... ok GET: /v1/ports?sort_key=pxe_enabled {} GOT:{u'ports': [{u'uuid': u'2e8ba36e-0b9a-453b-b144-a8878120c97e', u'links': [{u'href': u'http://localhost/v1/ports/2e8ba36e-0b9a-453b-b144-a8878120c97e', u'rel': u'self'}, {u'href': u'http://localhost/ports/2e8ba36e-0b9a-453b-b144-a8878120c97e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'cd1d7ed6-e69d-4c14-be36-0ae9873b9bb4', u'links': [{u'href': u'http://localhost/v1/ports/cd1d7ed6-e69d-4c14-be36-0ae9873b9bb4', u'rel': u'self'}, {u'href': u'http://localhost/ports/cd1d7ed6-e69d-4c14-be36-0ae9873b9bb4', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.086037s] ... ok 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'} PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0c3b179-9543-4964-aa9d-0750a697efbb X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} 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'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.118733s] ... ok 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-f17e6c36-c1b9-4d01-86fb-dc01b514c70c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.057971s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84b1d4b7-9134-4485-a2d4-2f11439c631f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.114746s] ... ok 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'} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-52e4e825-8f6f-4e63-9975-576b0b6a3cad X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.060103s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-90cbb770-3a06-4d5b-8047-ffdcc6a0316a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:57.455963+00:00"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.208730s] ... ok 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-30775a4c-4a67-479e-b37f-23f697621dea X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:57.461691+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.093696s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d88eaee7-a9a0-489c-9c19-d223eea1ada9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.105581s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-90cdc5f6-ad50-4f76-b07c-3999d3c87ce7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.115241s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 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.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.063509s] ... ok 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'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ff3097d7-17dc-4b7d-a8e6-a792b0c522a6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: set(['port_id'])\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.064758s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5bf90db-3e79-4c81-9305-a1b64a30ab66 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:57.598831+00:00", "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-03-12T20:57:57.554392+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.099863s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'af456693-6899-4542-9b11-cf0e0f9198e0', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2d5ca502-cf71-4188-9215-4d241f843ce2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.072511s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-aa00af64-fd32-4b27-be8b-c7d81125b359 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:57.649684+00:00"} 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'} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.211934s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e717652c-e597-4dbc-bdaa-b8d9c605cfe5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "af456693-6899-4542-9b11-cf0e0f9198e0", "updated_at": "2018-03-12T20:57:57.689603+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-03-12T20:57:57.651981+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.086749s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a7399dd9-5841-4d96-956c-5702cd4537a2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.065243s] ... ok GET: /v1/nodes/badname/traits {} 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': '61f06fe4-82f2-4852-a61f-d1672397a08a'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a50257e-c1f5-4612-8dbf-1f9dbcb4db72 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\"}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.069439s] ... ok 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-adacf17a-7553-4bd5-a05d-d50b4e9b53bb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.064413s] ... ok PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-722f849c-88b0-4581-beeb-c72674f5acb0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "61f06fe4-82f2-4852-a61f-d1672397a08a"}, "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": "2018-03-12T20:57:57.778811+00:00"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.111015s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-abc9ac9e-8228-4a7c-8620-aefea3eda098 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:57.744218+00:00", "updated_at": "2018-03-12T20:57:57.796538+00:00", "address": "aa:bb:cc:dd:ee:ff"} GOT:Response: 204 No Content Openstack-Request-Id: req-8b685bed-ae4e-41ca-bcee-59a8ce98265d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.103933s] ... ok 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'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.079699s] ... ok 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': '2eaa9f32-203e-473d-b433-b44e07003f19'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} 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-71cfbc2b-f7b3-48d3-841c-02ec8bc8ab88 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.076182s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1471d87b-0d48-46bc-87cb-68a07a035a7d X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.065413s] ... ok 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'} PUT: /v1/nodes/node-39/traits {} 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-5cda41c1-fd51-4953-9a5e-24543bc2401c X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.052177s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f6307ce7-46ed-4328-8571-ed40dac5281b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2eaa9f32-203e-473d-b433-b44e07003f19"}, "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": "2018-03-12T20:57:57.900714+00:00"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.123816s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84831c21-53d6-4688-9b65-989066e0d79c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.105484s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0cd11d63-874a-4aa1-b014-e4d120d95406 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:57.946129+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.098122s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-966e11e2-d50b-4fe8-ab2d-b7779bcf2271 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.065726s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-64b692db-fa4b-4602-9b72-6f0a4bda0463 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.077593s] ... ok 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'} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] 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: 204 No Content Openstack-Request-Id: req-51e7adb2-a481-401c-8d0b-cf2149b40bf1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.123093s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.012591s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dff164f6-fabe-49f6-8952-3a22176e85a2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.079743s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-00b762e8-759f-4bdd-b94f-39b29464c901 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:58.067300+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.133110s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-86dfe207-8cfb-4acb-ad8f-fd9c6ffef7f0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:58.034036+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.104406s] ... ok 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'} 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'} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GET: /v1/ports/detail {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b2cb3fc6-5fbd-4219-b3b2-445cafc13ab1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.073603s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1ea97732-cf42-4268-81b9-9b4d6b0b8db2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.065079s] ... ok DELETE: /v1/portgroups/pg.1.json 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'2018-03-12T20:57:58.155553+00:00'}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.127317s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '7203b298-fb80-4972-8f3d-020c75bb8415', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '04dbb68c-77cd-44c6-a272-87b56e9157c4', 'op': 'add'}] GOT:Response: 204 No Content Openstack-Request-Id: req-13fab3e1-e5f4-404a-ab12-37780fe539f7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.071751s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-4d4d98e0-cee0-4beb-89e8-00c7645b7d17 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:58.205439+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.134779s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b840885-e662-4f0b-be42-8c85dc254ba8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.072477s] ... ok GET: /v1/portgroups/?limit=3 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-367df47a-ef94-456d-8f49-f205367c557f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.071100s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4c0870d-2a4d-4929-95cb-71865edeeee1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "04dbb68c-77cd-44c6-a272-87b56e9157c4", "updated_at": "2018-03-12T20:57:58.271698+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2018-03-12T20:57:58.205314+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.124133s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': False, 'op': 'add'}] 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': 'b396d014-384e-4302-a562-dee1088975ca'}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f61ef928-c221-444a-9d79-6c8aeb9b0922 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.052265s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'b2f187b3-a0aa-4d67-82c9-7381381fcb63', u'links': [{u'href': u'http://localhost/v1/portgroups/b2f187b3-a0aa-4d67-82c9-7381381fcb63', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/b2f187b3-a0aa-4d67-82c9-7381381fcb63', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'1a4e6e65-5726-48f1-b3e5-9237f17168dc', u'links': [{u'href': u'http://localhost/v1/portgroups/1a4e6e65-5726-48f1-b3e5-9237f17168dc', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1a4e6e65-5726-48f1-b3e5-9237f17168dc', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'8576c882-3b7e-4926-9574-fa1806731209', u'links': [{u'href': u'http://localhost/v1/portgroups/8576c882-3b7e-4926-9574-fa1806731209', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/8576c882-3b7e-4926-9574-fa1806731209', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=8576c882-3b7e-4926-9574-fa1806731209'} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.136619s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-34f06ccb-6a77-4af8-8e9c-04c11b1e4b83 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.052808s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.018026s] ... ok 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'9244768c-2b01-4345-bdc5-b6ffc92b5226', u'links': [{u'href': u'http://localhost/v1/ports/9244768c-2b01-4345-bdc5-b6ffc92b5226', u'rel': u'self'}, {u'href': u'http://localhost/ports/9244768c-2b01-4345-bdc5-b6ffc92b5226', 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'2018-03-12T20:57:58.329920+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'7b28b57e-4e16-4bae-a0b6-5ee2c2b98bc0', u'links': [{u'href': u'http://localhost/v1/ports/7b28b57e-4e16-4bae-a0b6-5ee2c2b98bc0', u'rel': u'self'}, {u'href': u'http://localhost/ports/7b28b57e-4e16-4bae-a0b6-5ee2c2b98bc0', 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'2018-03-12T20:57:58.333371+00:00'}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.116243s] ... ok GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-15232fa0-9293-4607-9739-ad54a43c09db X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "b396d014-384e-4302-a562-dee1088975ca"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-03-12T20:57:58.381268+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.102596s] ... ok 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'} 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': '242244b2-4c3e-4b90-a0da-bd0a7fba5700'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4ccec0fe-f142-489d-9e10-ab301fae4ad3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.078973s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c830d131-4d96-44da-a23b-45ce52490220 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-eae4886c-3143-4c7a-a3fb-bdfa9a497540 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.084809s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.105956s] ... ok 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'} 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'} GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'ed6b80fc-20b6-401d-a981-21e662b3deaf', u'links': [{u'href': u'http://localhost/v1/portgroups/ed6b80fc-20b6-401d-a981-21e662b3deaf', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/ed6b80fc-20b6-401d-a981-21e662b3deaf', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:58.446221+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/ed6b80fc-20b6-401d-a981-21e662b3deaf/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/ed6b80fc-20b6-401d-a981-21e662b3deaf/ports', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'04ace251-9159-461d-bda6-001b9fc68ede', u'links': [{u'href': u'http://localhost/v1/portgroups/04ace251-9159-461d-bda6-001b9fc68ede', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/04ace251-9159-461d-bda6-001b9fc68ede', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:58.440905+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/04ace251-9159-461d-bda6-001b9fc68ede/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/04ace251-9159-461d-bda6-001b9fc68ede/ports', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'29d52ee5-07f6-4653-a27c-ed286b5dde66', u'links': [{u'href': u'http://localhost/v1/portgroups/29d52ee5-07f6-4653-a27c-ed286b5dde66', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/29d52ee5-07f6-4653-a27c-ed286b5dde66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:58.438761+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/29d52ee5-07f6-4653-a27c-ed286b5dde66/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/29d52ee5-07f6-4653-a27c-ed286b5dde66/ports', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} GOT:{u'created_at': {}, u'next': {}, u'updated_at': {}, u'ports': []} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.070758s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.151334s] ... ok GET: /v1/portgroups {} GOT:{u'portgroups': []} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.061636s] ... ok GET: /v1/ports/detail?portgroup=fooname {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5bcd88ae-83e6-4a07-818e-619c4f2c13e7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:58.593292+00:00"} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-12d26519-0043-49fb-a78e-42f9cf157fd5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:58.598065+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id_deprecated [0.136921s] ... ok GET: /v1/portgroups?node=test-node {} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.117615s] ... ok 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'2018-03-12T20:57:58.601031+00:00'}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.074764s] ... ok 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'} 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-676b6932-bab3-4b5d-9f2c-a9539ee40189 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.051492s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2b5e1235-763a-4f00-8b13-e409bc9d80c1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.053468s] ... ok GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'4a196ec6-c7e1-4279-bb97-036f318a549c', u'links': [{u'href': u'http://localhost/v1/portgroups/4a196ec6-c7e1-4279-bb97-036f318a549c', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/4a196ec6-c7e1-4279-bb97-036f318a549c', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'1149e2f9-1053-4624-8947-d427b0a0a22a', u'links': [{u'href': u'http://localhost/v1/portgroups/1149e2f9-1053-4624-8947-d427b0a0a22a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1149e2f9-1053-4624-8947-d427b0a0a22a', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'41d0a15e-9b08-4e23-bbbf-2f6a3fc93b88', u'links': [{u'href': u'http://localhost/v1/portgroups/41d0a15e-9b08-4e23-bbbf-2f6a3fc93b88', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/41d0a15e-9b08-4e23-bbbf-2f6a3fc93b88', u'rel': u'bookmark'}], u'name': u'portgroup2'}]} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.097838s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GET: /v1/portgroups?fields=uuid,extra {} 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'} 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e9ab6367-18a7-465d-8530-d7a1464f26e3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.082016s] ... ok GOT:{u'portgroups': [{u'uuid': u'59196753-727e-4e0e-b315-4acde5e4a037', u'links': [{u'href': u'http://localhost/v1/portgroups/59196753-727e-4e0e-b315-4acde5e4a037', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/59196753-727e-4e0e-b315-4acde5e4a037', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'562133df-09e4-4737-8331-04444f0b0136', u'links': [{u'href': u'http://localhost/v1/portgroups/562133df-09e4-4737-8331-04444f0b0136', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/562133df-09e4-4737-8331-04444f0b0136', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'016fd9da-1744-4248-98df-fdd30a28cf7c', u'links': [{u'href': u'http://localhost/v1/portgroups/016fd9da-1744-4248-98df-fdd30a28cf7c', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/016fd9da-1744-4248-98df-fdd30a28cf7c', u'rel': u'bookmark'}], u'extra': {}}]} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.070985s] ... ok GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-bcf34e4e-e3c7-4e4a-bfab-0fcd73aa5b65 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:58.762078+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.105315s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} 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-f6107af7-b2f8-477f-ac2c-8ecfa1d216d4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.074688s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8c8abda3-9cde-43a4-a593-df2b5536508c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-17954968-79e8-409a-8bf8-73e98c595881 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:58.769320+00:00"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.129842s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.058789s] ... ok 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'} 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:{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'2018-03-12T20:57:58.780011+00:00'} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.135173s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff4627c3-a67d-4817-b819-68f1b1e3853a X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} 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.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.065784s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.085634s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11fad1eb-7cc5-49b9-8242-c75f28751b08 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.058526s] ... ok DELETE: /v1/portgroups/52:54:00:cf:2d:31 GET: /v1/portgroups?sort_key=foo {} GET: /v1/ports/detail {} 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. "} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.046559s] ... ok 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-0041c1cd-1dc5-4653-ba68-7acb7cba6a2c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'65f8d11b-125d-4e9c-9121-94bf47fedf18', u'links': [{u'href': u'http://localhost/v1/ports/65f8d11b-125d-4e9c-9121-94bf47fedf18', u'rel': u'self'}, {u'href': u'http://localhost/ports/65f8d11b-125d-4e9c-9121-94bf47fedf18', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:58.925576+00:00', u'updated_at': None, u'address': u'66:44:55:33:11:22'}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.089533s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d02c066-4685-4d89-bae1-eab38c2e0a11 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-9bcf0169-f741-4aad-aad0-aa474dc415d7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"set(['switch_foo']) are invalid keys\"}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.073977s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12df0392-e5f9-4507-8e5a-6032e6432cc3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-4e70c4eb-fa2d-4266-805a-eb429ce2752f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.098733s] ... ok DELETE: /v1/portgroups/pg.1 GET: /v1/ports {} 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': 'bd41129b-e4b1-4e12-828a-f8419eb99e07'}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:{u'ports': []} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.067910s] ... ok GET: /v1/portgroups?sort_key=mode {} GOT:Response: 204 No Content Openstack-Request-Id: req-90b827b6-b54c-4dc1-a6f8-d8e7631f1128 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.100622s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ee649d6a-60e5-442d-b35e-d2d307ccd102 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.048365s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-79adac53-a089-4c90-aeeb-4dbd0990b4f7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "bd41129b-e4b1-4e12-828a-f8419eb99e07"}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2018-03-12T20:57:59.041817+00:00"} GET: /v1/ports?address=invalid-mac-format {} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.082140s] ... ok DELETE: /v1/portgroups/blah GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3c548215-34e7-4874-9d7c-e008ab8a7e3f X-Openstack-Ironic-Api-Maximum-Version: 1.38 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. Error: Expected a MAC address but received invalid-mac-format.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.059658s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a62ef2a7-9473-4783-8a4e-7dab57ea5acd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.056364s] ... ok 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-f2137fd2-227f-40c8-9318-17a267be47e1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.060644s] ... ok GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f9d17fec-3dfb-4a2b-a8c3-81b8052516f9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.057569s] ... ok 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'} GET: /v1/ports?sort_key=uuid {} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe62f6e3-d725-4e7a-8026-4e3fe5ac6eed X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:59.083967+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": "pg.1"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.158620s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'remove'}] 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.095541s] ... ok GOT:{u'ports': [{u'uuid': u'631d41e6-06e4-4fdd-bbeb-e3827285bea0', u'links': [{u'href': u'http://localhost/v1/ports/631d41e6-06e4-4fdd-bbeb-e3827285bea0', u'rel': u'self'}, {u'href': u'http://localhost/ports/631d41e6-06e4-4fdd-bbeb-e3827285bea0', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'e0e998bb-11fc-4af6-bba8-d516bd1a7aa3', u'links': [{u'href': u'http://localhost/v1/ports/e0e998bb-11fc-4af6-bba8-d516bd1a7aa3', u'rel': u'self'}, {u'href': u'http://localhost/ports/e0e998bb-11fc-4af6-bba8-d516bd1a7aa3', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'f60a6ac5-ba32-4adb-b250-acc77b13b886', u'links': [{u'href': u'http://localhost/v1/ports/f60a6ac5-ba32-4adb-b250-acc77b13b886', u'rel': u'self'}, {u'href': u'http://localhost/ports/f60a6ac5-ba32-4adb-b250-acc77b13b886', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.163482s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3088e7cb-5fad-4cae-a749-d337023222ac X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:59.256760+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.157674s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9c11d015-7e3c-42b7-9dc4-6466369acd45 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/mode' is a mandatory attribute and can not be removed\"}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.088497s] ... ok GET: /v1/ports?sort_key=foo {} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d14d4f0-58c6-4571-9518-7d10380ff111 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.069974s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e1df1e7c-8ba5-4ad9-aeb5-1cc9c807e192 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-05f83dec-e79d-4104-b52a-c1cef9868d6e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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 {} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 204 No Content Openstack-Request-Id: req-7f7d242a-33c0-40e9-9f05-31639060b9fe X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.067933s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d91712d4-7f2c-47a4-9a8a-54afd86e3f10 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-9ebddcc4-2714-47ca-b0c6-537ced8c95af X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.096230s] ... ok PATCH: /v1/portgroups/pg.1 [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] 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'2018-03-12T20:57:59.343755+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'} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.062541s] ... ok 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0604927e-f356-40ed-a752-579e24c780ba X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\"}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.107982s] ... ok DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/internal_info', 'value': False, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6e936811-fd43-4c8c-af84-da64b8309201 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.111108s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06e0e925-eb98-47c7-9531-21ca285c4d2e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:59.384098+00:00", "updated_at": "2018-03-12T20:57:59.424200+00:00", "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.085554s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a36683f9-0ade-424d-a2b8-69c0bff8191a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/internal_info' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.071725s] ... ok 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'2018-03-12T20:57:59.429464+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'pg.1'} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.082858s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GET: /v1/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cd8ccaf8-9174-413b-827f-310f622f815c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.052108s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cfe3ecbe-dcc8-4b8b-8023-5825f11b55b6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.074080s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'links': [{u'href': u'http://localhost/v1/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:59.496939+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/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /v1/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a {} GET: /v1/portgroups/detail?node=test-node {} 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-7b463355-c890-493b-9a9e-647c0cfd4341 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.056967s] ... ok 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'2018-03-12T20:57:59.539707+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'}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.059365s] ... ok GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'links': [{u'href': u'http://localhost/v1/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:59.496939+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/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'links': [{u'href': u'http://localhost/v1/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:57:59.496939+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/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/39a07a82-4a2c-4b1f-b568-3dc3b0a3da1a/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.137428s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ba0992a-76ff-459e-abdd-956c2e7fe27a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:59.518017+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": "pg.1"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.119903s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] 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-6dbc1d68-9473-4cf2-a8b8-a830374efb7a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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\"}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.043890s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d06161f-3d7f-45ee-9e31-618900c6d83f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.121070s] ... ok POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'name': 'fooname'} GET: /v1/portgroups {} 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'2018-03-12T20:57:59.655147+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'}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.127215s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/d0475185-d76a-46e4-a135-377a9fb5576b [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-96b0ac58-8ff9-4cf0-8770-af6f92f1b317 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.036441s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} 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-655f1602-b4b6-4b6f-a790-1f92673bd786 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.052589s] ... ok 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': {}} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.118478s] ... ok 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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-525817b0-fbe7-432b-b032-44bcfa339b8b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:57:59.781167+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'2018-03-12T20:57:59.781167+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'} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.206892s] ... ok 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'} 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.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.075376s] ... ok GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'033e93ed-e46e-4653-b17b-db7891c4e40b', u'links': [{u'href': u'http://localhost/v1/portgroups/033e93ed-e46e-4653-b17b-db7891c4e40b', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/033e93ed-e46e-4653-b17b-db7891c4e40b', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'71ad0f1d-dc82-4ab3-b9f8-8de7344bbcb2', u'links': [{u'href': u'http://localhost/v1/portgroups/71ad0f1d-dc82-4ab3-b9f8-8de7344bbcb2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/71ad0f1d-dc82-4ab3-b9f8-8de7344bbcb2', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'd2d3a870-5d40-4941-9d7a-8122da3401ee', u'links': [{u'href': u'http://localhost/v1/portgroups/d2d3a870-5d40-4941-9d7a-8122da3401ee', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d2d3a870-5d40-4941-9d7a-8122da3401ee', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'92631c46-01e0-4652-806c-f34a035918a5', u'links': [{u'href': u'http://localhost/v1/portgroups/92631c46-01e0-4652-806c-f34a035918a5', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/92631c46-01e0-4652-806c-f34a035918a5', u'rel': u'bookmark'}], u'name': u'portgroup3'}, {u'address': u'52:54:00:cf:2d:34', u'uuid': u'f48b0e1d-06d4-438f-b801-b4171e041cb8', u'links': [{u'href': u'http://localhost/v1/portgroups/f48b0e1d-06d4-438f-b801-b4171e041cb8', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f48b0e1d-06d4-438f-b801-b4171e041cb8', u'rel': u'bookmark'}], u'name': u'portgroup4'}]} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.283972s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't replace non-existent object 'node_id'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ecf1d19a-f39e-4d62-b9d9-accd292099ad X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.062127s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c458d1d9-7b17-4c1c-8fbd-6d1b9b05f21e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:57:59.806566+00:00", "updated_at": "2018-03-12T20:57:59.867052+00:00", "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.132476s] ... ok 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-1ca9568e-5e24-4067-ac08-500dea7ec1f6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'\"}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json {} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.074478s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-4e16d0b2-9108-4c52-b6fd-66a511ab44c5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '0bda0149-1c99-4d14-bab6-b1d88ce5d936', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.175206s] ... ok GOT:{u'portgroups': [{u'address': u'aa:bb:cc:dd:ee:f1', u'uuid': u'e764d5bb-1b8c-4d31-b395-d833bb3cccdc', u'links': [{u'href': u'http://localhost/v1/portgroups/e764d5bb-1b8c-4d31-b395-d833bb3cccdc', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e764d5bb-1b8c-4d31-b395-d833bb3cccdc', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.164950s] ... ok 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4a130d8b-52a9-43aa-b71c-ad0578a55196 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.084516s] ... ok GET: /v1/portgroups {} 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'2018-03-12T20:58:00.018722+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'} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.105644s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-779f50fa-8bff-4d14-b5a5-00da2cb0f427 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.066825s] ... ok GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'a2fe7b84-1ec7-4b37-b92b-37e4fda4c90c', 'op': 'remove'}] GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-21964285-3bb7-4a39-abdc-6857113aa074 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.110538+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"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.122455s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5109880c-c88b-4d3d-b2de-ddc452855424 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.097515s] ... ok GET: /v1/portgroups/9e700826-9cbc-4fb4-a45a-3e32cc30f249/ports {} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url'} GET: /v1/portgroups?sort_key=uuid {} GOT:Response: 202 Accepted Openstack-Request-Id: req-db30e03d-4217-4394-93d7-4fbceb8ca0dc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e7e1106a-7660-44f5-aed8-cf33f33d1380 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:58:00.117884+00:00"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.135040s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.081890s] ... ok GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:32', u'uuid': u'7ab05725-d1c9-4512-88fd-8f4c8901cd0a', u'links': [{u'href': u'http://localhost/v1/portgroups/7ab05725-d1c9-4512-88fd-8f4c8901cd0a', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/7ab05725-d1c9-4512-88fd-8f4c8901cd0a', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'bb72927f-fb17-4003-8abe-e6f02d2fdb22', u'links': [{u'href': u'http://localhost/v1/portgroups/bb72927f-fb17-4003-8abe-e6f02d2fdb22', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/bb72927f-fb17-4003-8abe-e6f02d2fdb22', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:30', u'uuid': u'f25ac96b-8882-4d13-a20c-783215d830f6', u'links': [{u'href': u'http://localhost/v1/portgroups/f25ac96b-8882-4d13-a20c-783215d830f6', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/f25ac96b-8882-4d13-a20c-783215d830f6', u'rel': u'bookmark'}], u'name': u'portgroup0'}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.074713s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:{u'ports': [{u'uuid': u'9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'links': [{u'href': u'http://localhost/v1/ports/9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'rel': u'self'}, {u'href': u'http://localhost/ports/9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'1558f644-2d63-45ac-81cb-db43e410676f', u'links': [{u'href': u'http://localhost/v1/ports/1558f644-2d63-45ac-81cb-db43e410676f', u'rel': u'self'}, {u'href': u'http://localhost/ports/1558f644-2d63-45ac-81cb-db43e410676f', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/portgroups/9e700826-9cbc-4fb4-a45a-3e32cc30f249/ports/detail {} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-35f22405-5797-49ee-9de9-f5251642f158 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.037097s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-325261c0-bfda-41af-9ae4-57e541586e9a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\"}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.047507s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'op': 'remove'}] GET: /v1/lookup?node_uuid=a85e51f5-cdb2-4ee3-b80b-270b39a01d8d {} 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'9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'links': [{u'href': u'http://localhost/v1/ports/9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'rel': u'self'}, {u'href': u'http://localhost/ports/9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'9e700826-9cbc-4fb4-a45a-3e32cc30f249', 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'2018-03-12T20:58:00.167653+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'1558f644-2d63-45ac-81cb-db43e410676f', u'links': [{u'href': u'http://localhost/v1/ports/1558f644-2d63-45ac-81cb-db43e410676f', u'rel': u'self'}, {u'href': u'http://localhost/ports/1558f644-2d63-45ac-81cb-db43e410676f', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'9e700826-9cbc-4fb4-a45a-3e32cc30f249', 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'2018-03-12T20:58:00.171273+00:00'}]} GET: /v1/portgroups/9e700826-9cbc-4fb4-a45a-3e32cc30f249/ports?limit=1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f760a9f4-e592-49a1-b8a9-fb5200ff9171 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.306137+00:00", "updated_at": "2018-03-12T20:58:00.312152+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": "pg.1"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c04f1bbc-4780-4ad0-93db-35c6d982a452 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:58:00.260172+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.146703s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.056871s] ... ok GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'a85e51f5-cdb2-4ee3-b80b-270b39a01d8d', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/a85e51f5-cdb2-4ee3-b80b-270b39a01d8d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a85e51f5-cdb2-4ee3-b80b-270b39a01d8d', 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.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.121836s] ... ok GOT:{u'ports': [{u'uuid': u'9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'links': [{u'href': u'http://localhost/v1/ports/9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', u'rel': u'self'}, {u'href': u'http://localhost/ports/9c207b0f-e4d4-4aff-a0e2-b366cee2da8e', 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=9c207b0f-e4d4-4aff-a0e2-b366cee2da8e'} GET: /v1/portgroups/9e700826-9cbc-4fb4-a45a-3e32cc30f249/ports/a90c6622-7f39-4082-9311-afe98efffd7e {} 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/9e700826-9cbc-4fb4-a45a-3e32cc30f249/ports/36fb728a-d777-40e8-8922-fd97508292c8 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d2ea0194-f9c5-4705-940a-1323e2a23438 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.254324s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5ca842d1-ea5d-47e5-9261-27bc34022cba {} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.073552s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d641664-7e23-4c67-a2ea-096350abe7fd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.306137+00:00", "updated_at": "2018-03-12T20:58:00.312152+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": "pg.1"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.142353s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'op': 'remove'}] /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'node_id'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ee9d2ef-f9b8-40c6-94ab-1ce127d14ee1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.099592s] ... ok GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'5ca842d1-ea5d-47e5-9261-27bc34022cba', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/5ca842d1-ea5d-47e5-9261-27bc34022cba', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5ca842d1-ea5d-47e5-9261-27bc34022cba', 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.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.109315s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e11fe3b8-b049-4fb8-a518-fd696d53b02c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.432625+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": "pg.1"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.164159s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] 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-70ed3694-6fc8-47b5-9410-5353922c5b88 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4f49d867-6c5a-4c9e-8bd1-50251ca43f8d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.095162s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.108097s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-717bedcb-75fc-46e3-9080-9c582f90271f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.564429+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": "pg.1"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.080729s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3bf815be-9fc4-4834-912d-f3bbe81e7ead X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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 {} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=69e9b5f0-fd44-436d-bc44-72500f3807dc {} 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.controllers.v1.test_port.TestPost.test_create_port [0.195311s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f1ec4b6e-cd2d-427d-9866-a1f02e12f9ba X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.095107s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.013421s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe37509b-f5bd-424c-b491-fef2f924318a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.649469+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": "pg.1"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.111237s] ... ok 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'} {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.022831s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values [0.013582s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.018197s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa3d1d8e-7955-41bd-bf3c-2bb8dff4b319 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.075255s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ed025473-532a-47c4-acef-fd74345ce30b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.770037+00:00"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_cannot_send_create_port [0.110645s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.029884s] ... ok 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'} {2} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.019554s] ... ok PATCH: /v1/portgroups/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.015488s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-975a077b-90c8-481c-8829-0878f172b1b9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.064315s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.019443s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/non-existent', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_mandatory_key [0.012220s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1f8d5f96-8cc2-49e7-9b80-d996e6eb4b05 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.271765s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.012825s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_without_optional_key [0.012179s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-662b50a8-d459-4e51-b2a8-0a815d67f0c4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.836348+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": "pg.1"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.105733s] ... ok 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'} {2} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.015208s] ... ok 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-b2d810ff-0084-4afe-9e1f-aa46e1f3e64d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.018524s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.049505s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name [0.013452s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c1c1442a-7d70-4a7c-95d1-426849904240 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'}] {2} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.013075s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_optional_key [0.011580s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e7b8dc9e-08be-47d9-87d4-6e4f2c94e3d6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.075593s] ... ok 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: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6f6f7e15-9b04-4103-960b-20f120096cd4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:58:00.964474+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.132883s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_dynamic_drivers [0.041282s] ... ok 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'} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups [0.014075s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f927b35-c6d7-4512-b6d5-aab8fd6e9859 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:00.972263+00:00", "updated_at": "2018-03-12T20:58:00.979406+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": "pg.1"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_ramdisk_endpoints [0.013356s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.099593s] ... ok 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'} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_rescue_interface [0.018347s] ... ok PATCH: /v1/portgroups/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_resource_class [0.011971s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_traits [0.012691s] ... ok 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. "} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.039901s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs_fail [0.012085s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-af1fd30d-2efc-46c5-953c-f4e69dec25f0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:01.062043+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': '38d1693b-bee9-4efb-b963-a02b79779e6d', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': '22661a31-c2ef-4c04-8058-d3eaf98efa98'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8f698c8b-eb43-4329-ba92-6d1a4a4a9da5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_cannot_send_create_port [0.125715s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive_fails [0.018648s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_fail [0.011813s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-805857a6-7941-417f-83c7-5bf330e94bce X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.155959s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs [0.012933s] ... ok POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '7916232b-4b5a-40cb-8e32-d3507fa110d7', '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'} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs_fail [0.016864s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields [0.011746s] ... ok 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'} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_unknown_verbs [0.011064s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface [0.012268s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-283117b8-1f33-4588-8d3b-d744a71ae8b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:01.112277+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": "pg.1"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.095755s] ... ok 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 "} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.040944s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-59ba22e9-5aad-4105-ac70-3fa30861cb59 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 7916232b-4b5a-40cb-8e32-d3507fa110d7 could not be found.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.099929s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_rescue_interface_fail [0.020211s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.009935s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.007087s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-27a7543b-6ac8-4ad8-9a38-8482afd0b862 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:01.211437+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 {} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.008573s] ... ok PATCH: /v1/portgroups/9d47de2a-c0dd-4e87-969d-6cf50a00fc50 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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'} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.016262s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_trait [0.012393s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.007741s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.010596s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ad46ae8-6c9c-4d5f-ac7c-099eb5871f7c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup 9d47de2a-c0dd-4e87-969d-6cf50a00fc50 could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.057540s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.008678s] ... ok 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'2018-03-12T20:58:01.211437+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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.140329s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.008279s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.008835s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2945e34d-b2c7-41e8-b7f5-6a199012bd96 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.111261s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.012929s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.008810s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.007219s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.007508s] ... ok GET: /v1/volume/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e70b4a6e-7d8f-49ac-9f53-c3f40c6b5e07 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:01.307749+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": "pg.1"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.099701s] ... ok 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2491a053-3097-4c0d-a571-5166a2a16ec3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.043349s] ... ok 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 "} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.047692s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 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/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-832fa136-fd9b-4694-b82a-3080625b44b3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:01.443799+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 204 No Content Openstack-Request-Id: req-db67b593-f407-48d9-8f38-261bea3933ab X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.086391s] ... ok 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'2018-03-12T20:58:01.443799+00:00'} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.169007s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-9cda9f68-0733-4470-b693-821d352f2b96 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.116980s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 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'} 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3c5a8850-52b1-4048-a0f5-d978f655a6a1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.092167s] ... ok 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': 'c7ae48aa-23f1-40c5-863c-4bafdda899f0'}, 'pxe_enabled': False, '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-b17650aa-2393-4e85-bc63-cf0080b8382e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.308390s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f51a82e5-0bb3-49f4-87e2-ca9fa6265a8e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.056165s] ... ok 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-b3a579e4-ff4b-4da5-b64a-72cb21aa1b7b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_nostandalone_ports [0.134089s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e6e8a89-18f0-490c-8a87-e6bd2b384c9b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.069833s] ... ok 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-6d3e4e44-0d61-4aaf-bc8a-e407f2339dc1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.053818s] ... ok GET: /v1/volume/connectors {} 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'} 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-16af6b66-b1d8-42ea-9f24-6cef36f644af X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.041670s] ... ok 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'} 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8d4b04d2-7aeb-4b64-8263-a55aa9ffa37b X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.094242s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c704412-7452-477d-945b-bfe2a8a7d743 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.052590s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-809bfcce-1bc5-4426-9528-a60a8a32f0dc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:01.717937+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 {} 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'} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a806c257-d188-4d8f-a7e7-4cf79fa7ae8d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.040181s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.010378s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.014099s] ... ok 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.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.080165s] ... ok 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'2018-03-12T20:58:01.717937+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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.139512s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path [0.014656s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.012919s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches [0.014930s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_valid_values [0.010165s] ... ok GET: /v1/portgroups {} {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.010805s] ... ok GOT:Response: 202 Accepted Openstack-Request-Id: req-6b52f511-204e-45cf-9925-f651b97eca2f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.080974s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.017924s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_network_interface [0.011615s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_no_pin [0.012714s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=d9a0c6b5-52ee-4505-86eb-30740159e556 {} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_physical_network_pin [0.012249s] ... ok GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'9c312acc-6834-4404-8441-6257317744f2', u'links': [{u'href': u'http://localhost/v1/portgroups/9c312acc-6834-4404-8441-6257317744f2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/9c312acc-6834-4404-8441-6257317744f2', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'2792ddb2-1065-44eb-a9d7-7fb8a2641c01', u'links': [{u'href': u'http://localhost/v1/portgroups/2792ddb2-1065-44eb-a9d7-7fb8a2641c01', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/2792ddb2-1065-44eb-a9d7-7fb8a2641c01', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'1f358a92-02d1-4f59-b9eb-80e0177bc0cc', u'links': [{u'href': u'http://localhost/v1/portgroups/1f358a92-02d1-4f59-b9eb-80e0177bc0cc', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1f358a92-02d1-4f59-b9eb-80e0177bc0cc', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=1f358a92-02d1-4f59-b9eb-80e0177bc0cc'} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.101883s] ... ok GET: /v1/portgroups/detail {} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroup_mode_properties [0.019811s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs [0.021176s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs_fail [0.036308s] ... ok GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'11d46dc5-e7dc-423e-98b4-dd2d7d4bde71', u'links': [{u'href': u'http://localhost/v1/volume/connectors/11d46dc5-e7dc-423e-98b4-dd2d7d4bde71', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/11d46dc5-e7dc-423e-98b4-dd2d7d4bde71', 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'92bd69d8-d578-45fe-bc7b-b666726251aa', u'links': [{u'href': u'http://localhost/v1/volume/connectors/92bd69d8-d578-45fe-bc7b-b666726251aa', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/92bd69d8-d578-45fe-bc7b-b666726251aa', 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'34d392da-c1e7-452f-b8ed-91657818491c', u'links': [{u'href': u'http://localhost/v1/volume/connectors/34d392da-c1e7-452f-b8ed-91657818491c', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/34d392da-c1e7-452f-b8ed-91657818491c', 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=34d392da-c1e7-452f-b8ed-91657818491c'} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.373032s] ... ok 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'2018-03-12T20:58:01.946049+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.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.058005s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_configdrive [0.026448s] ... ok GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'd9a0c6b5-52ee-4505-86eb-30740159e556', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/d9a0c6b5-52ee-4505-86eb-30740159e556', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d9a0c6b5-52ee-4505-86eb-30740159e556', 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.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.095528s] ... ok 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.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.033548s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_none [0.012784s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GET: /v1/volume/connectors?detail=True {} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type [0.013280s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_none [0.013160s] ... ok 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'2018-03-12T20:58:02.056808+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'pg.json'} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.076180s] ... ok GET: /v1/portgroups {} 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'2018-03-12T20:58:02.059185+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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.124872s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a7207a3-8b19-467e-85b9-5564b655a749 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.119451s] ... ok GET: /v1/volume/connectors {} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs_fail [0.034469s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.015485s] ... ok GOT:{u'connectors': []} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.035343s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver [0.013328s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value [0.010233s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class [0.010594s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.010327s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface_fail [0.014482s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.009612s] ... ok 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'}]} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.079112s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.009182s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f08a5d4c-3315-42df-925d-eeef1e8b4bbb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.040894s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.017807s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op [0.009352s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_invalid_values [0.007557s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.011656s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.007646s] ... ok 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'}] {3} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_name [0.007018s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.015220s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid [0.007306s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.010781s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid [0.006660s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type [0.006599s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.011026s] ... ok GET: /v1/portgroups?address=invalid-mac-format {} {3} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_bad_id [0.007395s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_inject_nmi [0.007575s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.021292s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e40babea-3d41-4aaf-bb58-76cd602bc491 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress. Error: Expected a MAC address but received invalid-mac-format.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.080453s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_links_node_states_and_driver_properties [0.012945s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f8b8362-3aca-4856-aca1-630cf3698659 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:02.185808+00:00", "updated_at": "2018-03-12T20:58:02.189626+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.067092s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.015632s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_node_rebuild_with_configdrive [0.012688s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.013050s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_advanced_net_fields [0.013295s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_port_internal_info [0.012037s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.017194s] ... ok GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_remove_chassis_uuid [0.012448s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.011407s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_storage_interface [0.011960s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.012039s] ... ok GOT:{u'portgroups': []} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.078828s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_volume [0.012123s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.013394s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-507558a7-454d-4a53-b964-900bbfceb3d4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:02.277497+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs_fail [0.012356s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.102289s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.021688s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail [0.013399s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_driver_fail [0.012648s] ... ok PATCH: /v1/volume/connectors/c47b41f3-4556-41db-b3bb-9bc5a8e14cf3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GET: /v1/portgroups/4b0b5b1c-546f-4600-b1e6-1e269bdabff6/ports {} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class_fail [0.016429s] ... ok 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.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class [0.012513s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.074937s] ... ok 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 "} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-24737872-0ab0-4288-8d61-605e5d67b6e4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume connector c47b41f3-4556-41db-b3bb-9bc5a8e14cf3 could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties [0.013316s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.057398s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.047403s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.011635s] ... ok 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'} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.013811s] ... ok GET: /v1/portgroups?sort_key=mode {} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.013066s] ... ok DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.014475s] ... ok GET: /v1/volume/ {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5825b81a-7e0e-4cda-9dbf-518d5fb0d3f1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.111762s] ... ok 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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8eeb33c-02d9-461d-b74f-895197db6b6a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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\\\".\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.118806s] ... ok GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'8cea3744-fb97-4882-b932-e8f41ce18399', u'links': [{u'href': u'http://localhost/v1/portgroups/8cea3744-fb97-4882-b932-e8f41ce18399', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/8cea3744-fb97-4882-b932-e8f41ce18399', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'e7121d60-6b31-4f15-b2c4-d179f2b1d2b0', u'links': [{u'href': u'http://localhost/v1/portgroups/e7121d60-6b31-4f15-b2c4-d179f2b1d2b0', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e7121d60-6b31-4f15-b2c4-d179f2b1d2b0', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'0f040aaa-72e0-4d7a-b773-32ef70d3c456', u'links': [{u'href': u'http://localhost/v1/portgroups/0f040aaa-72e0-4d7a-b773-32ef70d3c456', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0f040aaa-72e0-4d7a-b773-32ef70d3c456', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.094107s] ... ok GET: /v1/volume/connectors/?limit=3 {} 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 {} POST: /v1/volume/connectors {'node_uuid': 123, 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} 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-1a0885e7-3e6f-4f42-b890-469a9c29fd1e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:02.526891+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": "pg.1"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.099819s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:{u'connectors': []} GET: /volume/connectors {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b8368fd9-5006-4e9b-a4ab-1b299624f835 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.135826s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-07ea6890-19dd-4a9a-b749-b8bc4e6de5d3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.053047s] ... ok GOT:{u'connectors': []} GET: /v1/volume/targets {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'b8ce4913-c729-4ee7-8017-43f5c306498e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/b8ce4913-c729-4ee7-8017-43f5c306498e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/b8ce4913-c729-4ee7-8017-43f5c306498e', 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'3e6641b1-8765-4404-b7d1-6ba35980f0e0', u'links': [{u'href': u'http://localhost/v1/volume/connectors/3e6641b1-8765-4404-b7d1-6ba35980f0e0', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/3e6641b1-8765-4404-b7d1-6ba35980f0e0', 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'63cbf614-4f03-4589-88a6-bc483e7d1f63', u'links': [{u'href': u'http://localhost/v1/volume/connectors/63cbf614-4f03-4589-88a6-bc483e7d1f63', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/63cbf614-4f03-4589-88a6-bc483e7d1f63', 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=63cbf614-4f03-4589-88a6-bc483e7d1f63'} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.135904s] ... ok 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'} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:{u'targets': []} GET: /volume/targets {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dd8949d7-6883-4fe6-8798-ca1d7bbd6b2f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.060153s] ... ok GOT:{u'targets': []} {3} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.260090s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-38931348-109b-44c1-b4c1-db4562bce7fa X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.082136s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-102ea2f4-91a4-43d6-9041-4ed0caa22100 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.072055s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestVolumeConnectorObject.test_volume_connector_init [0.030032s] ... ok GET: /v1/volume/connectors?detail=False {} GET: /v1/volume/connectors?detail=True&limit=3 {} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.097550s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-46bca96a-2170-4eb7-a152-3cc13b0837a5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.085961s] ... ok 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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.045892s] ... ok 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 "} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.041589s] ... ok GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'53143998-d6dc-42ff-9008-d2aaa3ca5891', u'links': [{u'href': u'http://localhost/v1/volume/connectors/53143998-d6dc-42ff-9008-d2aaa3ca5891', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/53143998-d6dc-42ff-9008-d2aaa3ca5891', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:02.765870+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'1a2c5a09-b468-4035-9863-c81e912e8395', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1a2c5a09-b468-4035-9863-c81e912e8395', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1a2c5a09-b468-4035-9863-c81e912e8395', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:02.769937+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'de593bf1-b2f4-427f-8af9-1c54ed563e24', u'links': [{u'href': u'http://localhost/v1/volume/connectors/de593bf1-b2f4-427f-8af9-1c54ed563e24', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/de593bf1-b2f4-427f-8af9-1c54ed563e24', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:02.773439+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=de593bf1-b2f4-427f-8af9-1c54ed563e24'} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.150427s] ... ok GET: /v1/volume/connectors?fields=uuid,extra {} GET: /v1/volume/targets {} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra {} 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.040012s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-348e3e3a-becf-4f22-826a-a6d2b9535652 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.059723s] ... ok GOT:{u'connectors': [{u'uuid': u'544fd5dd-3ba7-4990-bcd8-9f9cc54d7778', u'links': [{u'href': u'http://localhost/v1/volume/connectors/544fd5dd-3ba7-4990-bcd8-9f9cc54d7778', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/544fd5dd-3ba7-4990-bcd8-9f9cc54d7778', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'0b047350-20e9-420e-8687-147c4830bbf5', u'links': [{u'href': u'http://localhost/v1/volume/connectors/0b047350-20e9-420e-8687-147c4830bbf5', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/0b047350-20e9-420e-8687-147c4830bbf5', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'17bd19fa-c508-4224-9ff5-5e6bca20c9a3', u'links': [{u'href': u'http://localhost/v1/volume/connectors/17bd19fa-c508-4224-9ff5-5e6bca20c9a3', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/17bd19fa-c508-4224-9ff5-5e6bca20c9a3', u'rel': u'bookmark'}], u'extra': {}}]} GET: /v1/volume/targets?sort_key=foo {} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.088619s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eee68bc2-6e7c-4880-b663-96a67c60868f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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 {} GET: /v1/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4e450db9-5029-41f8-961b-7966e18fb782 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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 {} GET: /v1/volume/connectors?detail=True&node=test-node {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f44a67cf-3127-4898-a9dd-dcd69bfc3bca X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.070045s] ... ok 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'2018-03-12T20:58:02.986867+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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.075561s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:02.981070+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /v1/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb {} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GET: /v1/volume/connectors?node=test-node {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eaf78c9f-ccd3-4cbb-8691-e6d5be8f4cef X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.329208s] ... ok GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:02.981070+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-92a61574-2d2e-42cf-9b17-e3b9a3b731f7 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.062033s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'links': [{u'href': u'http://localhost/v1/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/e98c025e-dd9c-496b-8b4a-de5f43d97fdb', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:02.981070+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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.148988s] ... ok GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'3bc733b5-ad63-47bc-8d13-6368d9291a94', u'links': [{u'href': u'http://localhost/v1/volume/connectors/3bc733b5-ad63-47bc-8d13-6368d9291a94', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/3bc733b5-ad63-47bc-8d13-6368d9291a94', 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'18ab0043-ee04-4663-9c06-d1388406e008', u'links': [{u'href': u'http://localhost/v1/volume/connectors/18ab0043-ee04-4663-9c06-d1388406e008', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/18ab0043-ee04-4663-9c06-d1388406e008', 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'19d599ab-fd36-4cfa-8a8f-add4432cae19', u'links': [{u'href': u'http://localhost/v1/volume/connectors/19d599ab-fd36-4cfa-8a8f-add4432cae19', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/19d599ab-fd36-4cfa-8a8f-add4432cae19', u'rel': u'bookmark'}], u'connector_id': u'test-value-2'}]} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.087313s] ... ok GET: /v1/volume/connectors {} 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 "} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.026958s] ... ok 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.048691s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-665e3261-71e1-4a0d-aa3c-b5a9889d212c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.089339+00:00", "updated_at": "2018-03-12T20:58:03.097673+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-1642c907-5db7-4431-9719-dbc7c3f94a46 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.089490+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": "pg.1"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.100693s] ... ok PATCH: /v1/portgroups/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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': {}} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.067672s] ... ok GET: /v1/volume/connectors?sort_key=uuid {} GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-03d48275-bd6e-415d-af20-b74885bbe50b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.089339+00:00", "updated_at": "2018-03-12T20:58:03.097673+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.190175s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe054deb-03d6-46d8-be29-949f2c65ba39 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.189554+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": "pg.1"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.107845s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'aacf5710-c627-4a1f-8f99-17abca9f6714', u'links': [{u'href': u'http://localhost/v1/volume/connectors/aacf5710-c627-4a1f-8f99-17abca9f6714', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/aacf5710-c627-4a1f-8f99-17abca9f6714', 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'bf174ddd-907f-47f2-85fd-e09b1be3bb25', u'links': [{u'href': u'http://localhost/v1/volume/connectors/bf174ddd-907f-47f2-85fd-e09b1be3bb25', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/bf174ddd-907f-47f2-85fd-e09b1be3bb25', 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'c4bece6f-56e2-4e42-b256-20b32154d190', u'links': [{u'href': u'http://localhost/v1/volume/connectors/c4bece6f-56e2-4e42-b256-20b32154d190', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/c4bece6f-56e2-4e42-b256-20b32154d190', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-2'}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.138409s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] 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-440d750e-3aee-42af-8b83-023f3111aae8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.054906s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1baad5a3-94c4-4f1f-9529-a22956b2040b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.114363s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't replace non-existent object 'node_id'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea935032-0e04-4a14-bccd-8b0d4b5ce61c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.298212+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": "pg.1"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.106542s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPortgroupObject.test_portgroup_init [0.015271s] ... ok 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-ba944028-1130-4406-a149-83ba05982deb X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.060585s] ... ok 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'} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] 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-a0bca98e-0d45-4923-87bd-b946391c20f3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.045792s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'76ed0252-94d1-471f-add9-27dae9006a1a', u'links': [{u'href': u'http://localhost/v1/volume/connectors/76ed0252-94d1-471f-add9-27dae9006a1a', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/76ed0252-94d1-471f-add9-27dae9006a1a', 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'a8d797bd-13dd-4ac5-8f7e-7a0b8b23b938', u'links': [{u'href': u'http://localhost/v1/volume/connectors/a8d797bd-13dd-4ac5-8f7e-7a0b8b23b938', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/a8d797bd-13dd-4ac5-8f7e-7a0b8b23b938', 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'780a17c5-4c92-4133-b64f-b6b8f7ab6e27', u'links': [{u'href': u'http://localhost/v1/volume/connectors/780a17c5-4c92-4133-b64f-b6b8f7ab6e27', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/780a17c5-4c92-4133-b64f-b6b8f7ab6e27', 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'99d50ed3-09da-4e75-af59-f6f80905f3ca', u'links': [{u'href': u'http://localhost/v1/volume/connectors/99d50ed3-09da-4e75-af59-f6f80905f3ca', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/99d50ed3-09da-4e75-af59-f6f80905f3ca', 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'8585be38-0a56-48c8-806e-aa77a0946fbc', u'links': [{u'href': u'http://localhost/v1/volume/connectors/8585be38-0a56-48c8-806e-aa77a0946fbc', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/8585be38-0a56-48c8-806e-aa77a0946fbc', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-4'}]} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.166843s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f07acf17-eab8-409a-a76d-137aa74c87dd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.483825+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "type": "iqn"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.080085s] ... ok GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4fbe9c47-791c-49a7-bf9d-01158d801532 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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-404bcf19-b9cd-49c9-9fa1-404f5ea8ff7e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.182300s] ... ok 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.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.027882s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-6c777d7b-d938-4dbf-8bf8-4cc8de8661b3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.453184+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'2018-03-12T20:58:03.453184+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'} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.125736s] ... ok 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-1e35d180-190c-4d82-bd78-59dfc32fb1a5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute type. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.037356s] ... ok 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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2fb7e317-2948-4d51-9968-a86c10a540b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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\\\".\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.264766s] ... ok 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-42ebeeaf-0db7-420d-a294-e6567d94b7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:58:03.582810+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"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.106073s] ... ok 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'}] 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/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8126c80b-1758-4f30-a980-91224961f9b8 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.653976+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': '5a7b95e8-04d6-42e9-9f7e-6c35991c127c', 'connector_id': 'test-connector-id-456'} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't replace non-existent object 'node_id'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76471adf-4f1d-4e69-b09a-34c67683ad61 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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'\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.081285s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3828f3f3-e655-4b2e-9b9f-e44633b938b0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.124799s] ... ok 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 "} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.037077s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d72ee56-1494-4cb2-b5c8-f518f3c64a5b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.644549+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.189398s] ... ok GET: /v1/volume/targets?detail=True&node=test-node {} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327 Openstack-Request-Id: req-09289c4d-caa4-4775-a37b-3cd89bb04599 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "dae444d7-6110-45eb-8f94-3a02ba350327", "links": [{"href": "http://localhost/v1/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327", "rel": "self"}, {"href": "http://localhost/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327", "rel": "bookmark"}], "extra": {}, "created_at": "2018-03-12T20:58:03.691106+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327/ports", "rel": "self"}, {"href": "http://localhost/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327/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/dae444d7-6110-45eb-8f94-3a02ba350327 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'dae444d7-6110-45eb-8f94-3a02ba350327', u'links': [{u'href': u'http://localhost/v1/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:03.691106+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/dae444d7-6110-45eb-8f94-3a02ba350327/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/dae444d7-6110-45eb-8f94-3a02ba350327/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.131691s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] 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-f04da399-5175-4e2f-80c1-f5bcfb329f0c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.059067s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4db595e-5769-4f06-a5ed-b03db81c97ee X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.074012s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] 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'2018-03-12T20:58:03.788521+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'}}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.066716s] ... ok 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'} GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-55f21b5b-0db1-4da3-9dcb-7357aa89aae4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute target_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.054160s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5f19d45f-a926-44c6-a4a3-ebbc9292cfaa X-Openstack-Ironic-Api-Maximum-Version: 1.38 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'} GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a4f6211-af0e-4697-86b4-282681b22378 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.823286+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.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.203511s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d0e903d7-fd46-46f5-b498-7f77f27018dd X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.123776s] ... ok 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'}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.060093s] ... ok 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-96cb05cb-00a4-43cd-92ec-823ae730f936 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.896524+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} 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'} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.132226s] ... ok GET: /v1/volume/targets?sort_key=uuid {} 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-b998ab24-fdaa-4209-90b0-c6fc012a6d1d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.047018s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-c3b358fa-c302-4eef-99ba-d6ff7757a0df X-Openstack-Ironic-Api-Maximum-Version: 1.38 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": "2018-03-12T20:58:03.978656+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.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.058594s] ... ok 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'} 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-7c514a74-ffaf-4dac-b53d-4102d4b03bcf X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:03.939719+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.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.113151s] ... ok 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:{u'targets': [{u'boot_index': 1, u'uuid': u'987670f2-0c37-42e5-9b52-fdac7da6ef9a', u'links': [{u'href': u'http://localhost/v1/volume/targets/987670f2-0c37-42e5-9b52-fdac7da6ef9a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/987670f2-0c37-42e5-9b52-fdac7da6ef9a', 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'af6838c3-6b1f-43ae-9276-bad7343c5b99', u'links': [{u'href': u'http://localhost/v1/volume/targets/af6838c3-6b1f-43ae-9276-bad7343c5b99', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/af6838c3-6b1f-43ae-9276-bad7343c5b99', 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'faccd0eb-dbea-4edc-9f09-f7c25a251c44', u'links': [{u'href': u'http://localhost/v1/volume/targets/faccd0eb-dbea-4edc-9f09-f7c25a251c44', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/faccd0eb-dbea-4edc-9f09-f7c25a251c44', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.104740s] ... ok 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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-321be21b-757e-4133-a0c6-ddc3af3c7758 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.037394+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'2018-03-12T20:58:04.037394+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'} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.086778s] ... ok 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-932eee7a-caca-42db-8106-110bb00867c9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.028263+00:00", "updated_at": "2018-03-12T20:58:04.033138+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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-8c763a2e-2a7d-47f9-9069-b99a05256b97 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.128015+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"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.068321s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a7c4791-b37d-43f4-9520-5788d4fe20f3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.080371+00:00", "updated_at": "2018-03-12T20:58:04.103029+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.112208s] ... ok 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: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a5ee47f-c868-492b-bbb6-7a04d7e30f55 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.028263+00:00", "updated_at": "2018-03-12T20:58:04.033138+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2c73d728-93ca-4720-ba68-d695fdc83df2 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.142266+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 {} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.169337s] ... ok 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-97ae23ce-b920-4f4a-92c5-a2b38cb1f971 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.039530s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] 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'2018-03-12T20:58:04.142266+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.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.192931s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-a5cfa747-27dc-41a3-91d8-a8c11b2c6a06 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.224063+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"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_no_extra [0.095387s] ... ok 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.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.068888s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] PATCH: /v1/volume/targets/b10132a7-a559-4edf-8760-3dded0735b7a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] POST: /v1/heartbeat/fc1d0472-c552-4ecb-a7e2-72e835512781 {'callback_url': 'url'} 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b9fe973e-d4b4-4b38-85d6-a69442acc6ab X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fc1d0472-c552-4ecb-a7e2-72e835512781 could not be found.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.050650s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1043109f-4c08-4bec-aeba-481592388063 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume target b10132a7-a559-4edf-8760-3dded0735b7a could not be found.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.064658s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e9afa8b-d5e4-49a2-a7ed-3e620ecdcae4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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\\\".\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.114464s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/3fda988c-afc3-4a3e-8875-af25a672a594 Openstack-Request-Id: req-de28430f-b244-40f1-95b2-3154d23fe2b6 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"boot_index": 0, "uuid": "3fda988c-afc3-4a3e-8875-af25a672a594", "links": [{"href": "http://localhost/v1/volume/targets/3fda988c-afc3-4a3e-8875-af25a672a594", "rel": "self"}, {"href": "http://localhost/volume/targets/3fda988c-afc3-4a3e-8875-af25a672a594", "rel": "bookmark"}], "extra": {}, "created_at": "2018-03-12T20:58:04.306489+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/3fda988c-afc3-4a3e-8875-af25a672a594 {} 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:{u'boot_index': 0, u'uuid': u'3fda988c-afc3-4a3e-8875-af25a672a594', u'links': [{u'href': u'http://localhost/v1/volume/targets/3fda988c-afc3-4a3e-8875-af25a672a594', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/3fda988c-afc3-4a3e-8875-af25a672a594', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:04.306489+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.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.132855s] ... ok GOT:Response: 202 Accepted Openstack-Request-Id: req-48ac3d16-bb52-4e93-aafa-bea554fbce2a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.074355s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] 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: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c996b6f4-f510-4883-8c8c-c18cc1833b5f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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 {} POST: /v1/heartbeat/test.1 {'callback_url': 'url'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7ef7ed1-6654-481b-8a40-59a4f189a9de X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.054297s] ... ok 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'}} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.109064s] ... ok GOT:Response: 202 Accepted Openstack-Request-Id: req-24c4942b-12d4-4720-a61e-d3f5cbc02024 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.068866s] ... ok 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'}} POST: /v1/heartbeat/3d64946d-c980-4990-be84-940817e35a38 {'callback_url': 'url'} 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 "} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.061348s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-27e23259-012f-4db0-928d-30a0b40d620e X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.033665s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5c72cdf-d6da-44b0-92c6-d35be6d0a354 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.069955s] ... ok GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b7a5e80-62ff-4626-a37a-62fbdc1bae82 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.368708+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.145833s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestVolumeTargetObject.test_volume_target_init [0.036794s] ... ok 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-087dc2a0-87eb-46b0-ad01-02d1a7dcd278 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.059414s] ... ok 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-e1bcc96b-0d79-4568-9d73-1df4638fa0fc X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute volume_type. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.081684s] ... ok GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'603bd59d-2ff7-45cc-85f9-21e14a695602', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/603bd59d-2ff7-45cc-85f9-21e14a695602', u'rel': u'self'}, {u'href': u'http://localhost/nodes/603bd59d-2ff7-45cc-85f9-21e14a695602', 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.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.089311s] ... ok 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/ {} 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'} 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'}} 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:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cd8936f7-6a97-4114-aab4-9b847a8f217d X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute boot_index. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.058061s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-acb360c7-2bbf-4b0c-9cae-32311cbb75a3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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-9ccc9971-6903-413d-8f7b-74a55c617e07 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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"} {2} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [0.080063s] ... ok 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'}} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6d26fb98-92c9-43d7-8b21-d7f3c684699d {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.033569s] ... ok GET: / {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'57e620fa-941f-4471-b63a-a145f4969085', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/57e620fa-941f-4471-b63a-a145f4969085', u'rel': u'self'}, {u'href': u'http://localhost/nodes/57e620fa-941f-4471-b63a-a145f4969085', 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.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.095433s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c2ea2ee5-01c9-4674-af02-79dc5e65b6f1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.606790+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'2018-03-12T20:58:04.606790+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.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.146201s] ... ok GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d57cbad-e622-4a17-89bf-0e3cf8dc8f8a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\"}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.059126s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4432cfba-6716-48f1-b596-ca90f1869738 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.104760s] ... ok GET: /v1/ {} 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/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-76f73104-75db-4fe4-8434-25e9b1c9600e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.738242+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.155024s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d5d0e769-0ac4-48a0-992e-b97acb4ff62c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.083654s] ... ok 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'}]} {1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.052172s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values [0.010535s] ... ok GET: / {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_apimultitype_tostring [0.021042s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-77ae1392-b668-49ea-bce5-f4d35afae475 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.059884s] ... ok 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'} {1} ironic.tests.unit.api.controllers.v1.test_types.TestListType.test_list_type [0.014975s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-29cf770b-f4bc-484a-980c-4dc27d470298 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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.test_acl.TestACL.test_non_admin [0.056460s] ... ok GET: / {} {1} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.016768s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3d1e36db-3211-4565-9364-7a7557f85db9 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.033969s] ... ok {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.024860s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.018234s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1e5d76fe-523b-48ae-bec2-24315285ccee X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.828600+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.019060s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.029561s] ... ok 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'2018-03-12T20:58:04.828600+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.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.097197s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name [0.022806s] ... ok GET: / {} 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'} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_allow_portgroups_subcontrollers [0.013938s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.025881s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e88a2c2e-e7f4-4a1b-9292-654d6228073b {"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_clientfault_debug_tracebacks [0.027651s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs [0.016663s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-21acd6ce-8ffe-4a8f-905c-b093fc6d45a6 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.027892s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs [0.016428s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-64227174-fc9b-4993-8bec-80b5b9212f24 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:04.916182+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.066761s] ... ok GET: / {} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_false [0.017330s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-84bd58e6-3fb6-4379-bc34-d15f5bd23d13 {"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_remote_error_success [0.026953s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_fail [0.017474s] ... ok GET: / {} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs [0.015261s] ... ok {2} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.083755s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0b92551d-6f4a-4a85-9092-5042161d1471 {"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 [0.032971s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs_fail [0.017084s] ... ok GOT:Response: 204 No Content Openstack-Request-Id: req-295136aa-75d4-4259-8c0d-1b45eed1a6d3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.066928s] ... ok {0} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.017848s] ... ok {2} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.027328s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs [0.025875s] ... ok GET: / {} {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.030018s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allow_specify_fields_fail [0.016547s] ... ok GOT:{u'default_version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.38', 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.38', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}]} {2} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.030708s] ... ok GET: /v1/volume/targets/?limit=3 {} GET: /v1/ {} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class_fail [0.019171s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.027480s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties_fail [0.015661s] ... ok 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'}]} GET: /v1/ {} {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.033221s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.020900s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.019688s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.011080s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.011534s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.010947s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.013597s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.013283s] ... ok 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.test_root.TestV1Root.test_get_v1_23_root [0.049274s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.015647s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.011401s] ... ok GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'31a6abd7-12fc-4866-961c-b2db84f12a5a', u'links': [{u'href': u'http://localhost/v1/volume/targets/31a6abd7-12fc-4866-961c-b2db84f12a5a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/31a6abd7-12fc-4866-961c-b2db84f12a5a', 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'bd7b6e7a-8d45-44a5-907e-31488e3cc26b', u'links': [{u'href': u'http://localhost/v1/volume/targets/bd7b6e7a-8d45-44a5-907e-31488e3cc26b', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/bd7b6e7a-8d45-44a5-907e-31488e3cc26b', 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'c89cd796-c5ce-4ce0-8a48-bc5ea79eea25', u'links': [{u'href': u'http://localhost/v1/volume/targets/c89cd796-c5ce-4ce0-8a48-bc5ea79eea25', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c89cd796-c5ce-4ce0-8a48-bc5ea79eea25', 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=c89cd796-c5ce-4ce0-8a48-bc5ea79eea25'} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.130830s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.013329s] ... ok 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'}]} {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.034100s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.027977s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.011975s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_on_missing_default_boot_option [0.027873s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions [0.021658s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.013843s] ... ok GET: /v1/volume/targets {} Error while running foo: bar. {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.019794s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.150995s] ... ok GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a988a66-59bb-444f-840a-f87532b2303b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} Running batches of 50 until migrations have been completed. Data migrations have completed. {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.020856s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.034338s] ... ok Running batches of 50 until migrations have been completed. {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.020864s] ... ok GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} Malformed option m1key1=value1 {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.018885s] ... ok Data migrations have not completed. Please re-run. GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bec3b44a-fc46-4009-b39d-b8e172bd99d1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.059129s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.020118s] ... ok GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'0dd8f3f4-0cc4-43aa-9153-93ed90fa5ed7', u'links': [{u'href': u'http://localhost/v1/volume/targets/0dd8f3f4-0cc4-43aa-9153-93ed90fa5ed7', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0dd8f3f4-0cc4-43aa-9153-93ed90fa5ed7', 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'160e976c-92b6-409e-addb-1471bf6b5b6c', u'links': [{u'href': u'http://localhost/v1/volume/targets/160e976c-92b6-409e-addb-1471bf6b5b6c', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/160e976c-92b6-409e-addb-1471bf6b5b6c', 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'a9946e21-6003-4b1c-9185-5e769c008772', u'links': [{u'href': u'http://localhost/v1/volume/targets/a9946e21-6003-4b1c-9185-5e769c008772', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/a9946e21-6003-4b1c-9185-5e769c008772', 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=a9946e21-6003-4b1c-9185-5e769c008772'} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.174646s] ... ok GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-461b9b57-59dd-4b5d-9c07-c8af32bb1837 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.059621s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.146134s] ... ok 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'2018-03-12T20:58:05.352805+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.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.067682s] ... ok 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 "} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.041945s] ... ok 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 "} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.038999s] ... ok GET: /v1/volume/targets {} GOT:{u'targets': []} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.034715s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.124690s] ... ok 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 "} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.028530s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.093722s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] GET: /v1/volume/targets?node=test-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b205006c-ced2-47e8-b776-1eb6692d86b0 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:05.481643+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "type": "iqn"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.070680s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/value', 'op': 'remove'}] /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'value'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.129893s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c77c02a9-5dc9-4810-9ade-5d72593091b1 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.048005s] ... ok GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'402295bc-0236-430d-9db9-ddbf8015158f', u'links': [{u'href': u'http://localhost/v1/volume/targets/402295bc-0236-430d-9db9-ddbf8015158f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/402295bc-0236-430d-9db9-ddbf8015158f', 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'9b7010bb-b9e2-441c-b58c-8ca2dfe9faa6', u'links': [{u'href': u'http://localhost/v1/volume/targets/9b7010bb-b9e2-441c-b58c-8ca2dfe9faa6', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9b7010bb-b9e2-441c-b58c-8ca2dfe9faa6', 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'ca213794-1a9d-463e-94a3-cc8b5f8042e2', u'links': [{u'href': u'http://localhost/v1/volume/targets/ca213794-1a9d-463e-94a3-cc8b5f8042e2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/ca213794-1a9d-463e-94a3-cc8b5f8042e2', 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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.116043s] ... ok GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.130248s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.015058s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-36daa5d1-1990-4d10-aa40-0fb2261a884c X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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'\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.061070s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ebe1486b-10a9-46b9-a1e5-2ef50030ba56 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.086298s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.042090s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.107309s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_valid_interfaces [0.028547s] ... ok 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'2018-03-12T20:58:05.681607+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.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.070007s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a4b1c1e8-7df4-4e0a-82d9-d25e3c42197a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.089867s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.039084s] ... ok GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_dhcp [0.024724s] ... ok 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 "} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.046320s] ... ok 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': {}} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.078593s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.118712s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_allowed_interfaces [0.054498s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator'} 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-07282b9a-757b-45a1-ae1f-1eb0a37ba53f X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.054550s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1013ba2a-0cac-4205-8c43-508764a74c2f Openstack-Request-Id: req-b6428814-283e-4c3e-a841-c2bd08fa7e90 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1013ba2a-0cac-4205-8c43-508764a74c2f", "links": [{"href": "http://localhost/v1/volume/connectors/1013ba2a-0cac-4205-8c43-508764a74c2f", "rel": "self"}, {"href": "http://localhost/volume/connectors/1013ba2a-0cac-4205-8c43-508764a74c2f", "rel": "bookmark"}], "extra": {}, "created_at": "2018-03-12T20:58:05.849860+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1013ba2a-0cac-4205-8c43-508764a74c2f {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1013ba2a-0cac-4205-8c43-508764a74c2f', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1013ba2a-0cac-4205-8c43-508764a74c2f', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1013ba2a-0cac-4205-8c43-508764a74c2f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:05.849860+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.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.119614s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.099957s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-378a5957-c3f7-45ef-9fb3-4ba3e7f241e5 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.066388s] ... ok POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781'} {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_unset_interfaces [0.117780s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef1bf1c0-eeeb-4ab8-b327-21f3b7263a4a X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_id. Value: 'None'. Mandatory field missing.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.046744s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_neutron_dhcp [0.015846s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert JsonPatchConflict(u"can't remove non-existent object 'non-existent'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aebfa37b-6031-43d8-af5a-2924ab7717cd X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.048938s] ... ok 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-fca62c81-af34-496e-93a6-d15c691dc778 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.048575s] ... ok 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-608f6892-a3da-4bd9-bd74-173b7aa68502 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.038381s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.109966s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.078952s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_deprecated_opts [0.028331s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-685be69f-8464-450c-9ef8-598c7ae98a9b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.036370s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbf3c22c-908f-4bda-ae4a-cc75b85bdd27 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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\\\".\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.073130s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.035618s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a10f102-cbdf-453c-bbff-06a8641ac159 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.065975s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.031159s] ... ok GET: /v1/volume/targets?detail=True&limit=3 {} {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.088273s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.014167s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.029404s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.041279s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type_missing [0.029531s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f0982349-0af7-4a67-b93f-d0bf91f4cf9e X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:06.134039+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.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.059386s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_invalid_network_interface [0.020950s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.024264s] ... ok GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'de1c0019-fa53-4cf8-b307-141ea872d5dd', u'links': [{u'href': u'http://localhost/v1/volume/targets/de1c0019-fa53-4cf8-b307-141ea872d5dd', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/de1c0019-fa53-4cf8-b307-141ea872d5dd', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:06.099423+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'8082c5f5-3926-4348-80db-89639793e8a7', u'links': [{u'href': u'http://localhost/v1/volume/targets/8082c5f5-3926-4348-80db-89639793e8a7', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/8082c5f5-3926-4348-80db-89639793e8a7', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:06.103016+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'089be162-4990-4481-b7bd-bf7812a75733', u'links': [{u'href': u'http://localhost/v1/volume/targets/089be162-4990-4481-b7bd-bf7812a75733', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/089be162-4990-4481-b7bd-bf7812a75733', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:06.106501+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=089be162-4990-4481-b7bd-bf7812a75733'} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.109981s] ... ok GET: /v1/volume/targets?detail=True {} 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'}} {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.027546s] ... ok 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'2018-03-12T20:58:06.208065+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.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.075421s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7db364f3-a70b-4049-a909-d4223741c5fe X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.087408s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.026087s] ... ok 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'}} 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-c035996e-deff-4cea-a0a5-c08f8c000282 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.035709s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.035762s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46fc9679-7b17-42c9-9e82-644601570c0b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.051201s] ... ok 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'}} {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.021667s] ... ok GET: /v1/volume/targets?detail=False {} {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.153595s] ... ok 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'}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.066828s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1938c930-5299-46f0-a7e0-63c5df9c4ee9 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:06.344894+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'2018-03-12T20:58:06.344894+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.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.094370s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.084982s] ... ok GET: /v1/volume/targets?fields=uuid,extra {} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.017911s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.014976s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) 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'******'}} {2} ironic.tests.unit.common.test_exception.TestIronicException.test___init___string_serializable [0.018246s] ... ok {3} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.061856s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_not_allowed_interfaces [0.129926s] ... ok {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.022751s] ... ok GOT:{u'targets': [{u'uuid': u'38fcca5b-8234-4297-b672-4b1fec392419', u'links': [{u'href': u'http://localhost/v1/volume/targets/38fcca5b-8234-4297-b672-4b1fec392419', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/38fcca5b-8234-4297-b672-4b1fec392419', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'4b375204-9380-446b-afcc-130f211d4615', u'links': [{u'href': u'http://localhost/v1/volume/targets/4b375204-9380-446b-afcc-130f211d4615', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/4b375204-9380-446b-afcc-130f211d4615', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'ce6eb1d9-ac46-488f-9bab-63f9d83d3ca9', u'links': [{u'href': u'http://localhost/v1/volume/targets/ce6eb1d9-ac46-488f-9bab-63f9d83d3ca9', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/ce6eb1d9-ac46-488f-9bab-63f9d83d3ca9', u'rel': u'bookmark'}], u'extra': {}}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.103458s] ... ok 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"}} {3} ironic.tests.unit.api.test_acl.TestACL.test_non_authenticated [0.049446s] ... ok GET: /v1/volume/targets/48b9aee5-42b5-4acf-aca9-fe48d750d0e2 {} {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.029016s] ... ok GET: / {} {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.016949s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d6d853e-d256-48a0-8d55-9fc638324243 {"default_version": {"status": "CURRENT", "min_version": "1.1", "version": "1.38", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "versions": [{"status": "CURRENT", "min_version": "1.1", "version": "1.38", "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:{u'boot_index': 0, u'uuid': u'48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'links': [{u'href': u'http://localhost/v1/volume/targets/48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:06.508294+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/48b9aee5-42b5-4acf-aca9-fe48d750d0e2 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3aefbeba-d1ef-4874-8de5-513d7baebcf4 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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"} {3} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.052463s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_exception [0.030098s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.010363s] ... ok GOT:{u'boot_index': 0, u'uuid': u'48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'links': [{u'href': u'http://localhost/v1/volume/targets/48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:06.508294+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/48b9aee5-42b5-4acf-aca9-fe48d750d0e2 {} {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.010192s] ... ok {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.029036s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_invalid [0.010955s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.007923s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.021331s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.009142s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_no_interfaces [0.134151s] ... ok GOT:{u'boot_index': 0, u'uuid': u'48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'links': [{u'href': u'http://localhost/v1/volume/targets/48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/48b9aee5-42b5-4acf-aca9-fe48d750d0e2', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2018-03-12T20:58:06.508294+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.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.133551s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.012242s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.010103s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.033063s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.010748s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.019872s] ... ok GET: /v1/volume/targets {} {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.017238s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.013503s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4794568e-ca71-448e-bb9c-f49842e67b71 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.029383s] ... ok {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.026557s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.051001s] ... ok {3} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.021354s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.020887s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.018507s] ... ok {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.031021s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_dynamic_driver_and_interfaces [0.165311s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.017112s] ... ok GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'53c68a7b-c04c-4793-9682-e364e6b76d4c', u'links': [{u'href': u'http://localhost/v1/volume/targets/53c68a7b-c04c-4793-9682-e364e6b76d4c', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/53c68a7b-c04c-4793-9682-e364e6b76d4c', 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'dced53ca-67fa-4626-a60f-ffa49056ac22', u'links': [{u'href': u'http://localhost/v1/volume/targets/dced53ca-67fa-4626-a60f-ffa49056ac22', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/dced53ca-67fa-4626-a60f-ffa49056ac22', 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'c97eeb03-6a5b-47cd-85be-721859737e73', u'links': [{u'href': u'http://localhost/v1/volume/targets/c97eeb03-6a5b-47cd-85be-721859737e73', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c97eeb03-6a5b-47cd-85be-721859737e73', 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'c4547efb-07b9-4def-8541-b32040f34db4', u'links': [{u'href': u'http://localhost/v1/volume/targets/c4547efb-07b9-4def-8541-b32040f34db4', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c4547efb-07b9-4def-8541-b32040f34db4', 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'e8da4b0e-b1fe-4a08-82e1-6f851c2ad2e2', u'links': [{u'href': u'http://localhost/v1/volume/targets/e8da4b0e-b1fe-4a08-82e1-6f851c2ad2e2', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/e8da4b0e-b1fe-4a08-82e1-6f851c2ad2e2', 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.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.152440s] ... ok {0} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test__calculate_migration_delta_unsupported_interface [0.013980s] ... ok {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.030091s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.013867s] ... ok 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'}] {0} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_unsupported_interface_reset [0.013509s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href [0.020844s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.020371s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.019982s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.019299s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {3} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.052991s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.019509s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.020610s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-16e539ae-df5c-41ec-87e2-53cecb1ff464 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:06.794272+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.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.095066s] ... ok func1() migrated 10 of 15 objects. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.031643s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.027937s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] func1() migrated 10 of 10 objects. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.023242s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_default_v1 [0.022932s] ... ok "max-count" must be a positive value. {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.018317s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.018353s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_auth_strategy [0.013342s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task [0.086310s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fcfa5cdb-3dfd-4c0a-8c1f-46f1c03a64ff X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:06.888321+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.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.093255s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.025387s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.022595s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'add'}] {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.020388s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_efibootimg [0.025754s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ProcessExecutionError(None, None, None, None, None) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.017501s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.018571s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert NameError('aaa',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.017814s] ... ok {0} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_unknown [0.015964s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb51579f-606a-4a7c-a574-bdb4be539ee3 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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": "2018-03-12T20:58:06.980779+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.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.096202s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.133131s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.043232s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.028224s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9a7d46c-802c-4644-9980-01664896673b X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"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.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.054558s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.020318s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.021384s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.087431s] ... ok 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-3d0a8891-c355-4359-adec-bf6cc4872614 X-Openstack-Ironic-Api-Maximum-Version: 1.38 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/boot_index' is a mandatory attribute and can not be removed\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.052113s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.026901s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.032087s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.018865s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.130499s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.028212s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.022253s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.010563s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e474c38-c5da-4562-b6ec-5162b381dd26 X-Openstack-Ironic-Api-Maximum-Version: 1.38 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\"}"} {1} ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header [0.062932s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.025345s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.036378s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IOError('file access error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.020879s] ... ok GET: /v1/bad/path {} {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.032308s] ... ok 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.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.026809s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.014225s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.011606s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.022633s] ... ok GET: / {} {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_invalid_network_interface [0.023033s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.085778s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2f303a2b-87ca-428e-8437-15eb52e224cf {"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)\"}"} {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.030786s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.120549s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_no_interfaces_set [0.030434s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a55d0988-9dfa-4ee0-bd38-33acb3a283b5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.031787s] ... ok GET: /v1/ {} {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_none [0.064741s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_not_allowed_interfaces_set [0.037051s] ... ok 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.test_root.TestV1Root.test_get_v1_22_root [0.033933s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.036058s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.036210s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.095866s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.020668s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. {3} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_not_implemeted [0.006988s] ... ok INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.067671s] ... ok The database is not compatible with this release of ironic (10.1.1). Please run "ironic-dbsync online_data_migrations" using the previous release. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions_bad [0.024956s] ... ok {3} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta_unsupported_hw_type [0.008788s] ... ok {0} ironic.tests.unit.common.test_exception.TestIronicException.test___init__ [0.010391s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.011363s] ... ok foo() migrated 15 of 15 objects. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.020355s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.011795s] ... ok func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.020772s] ... ok {3} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_classic_drivers_to_migrate [0.039831s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__deprecated_opts [0.022371s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.014406s] ... ok func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.020264s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.012048s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.016931s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.011338s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.019228s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ServiceUnavailable() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.019411s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults [0.023219s] ... ok func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.019156s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.013403s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.130025s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_classic_drivers_unsupported [0.017997s] ... ok Malformed option m1.key1value1 {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.017316s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_no_exception [0.012833s] ... ok Running batches of 50 until migrations have been completed. Data migrations have completed. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.017651s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.024516s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.021585s] ... ok {3} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_known [0.017255s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.015238s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.037330s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.111769s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.039620s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.090199s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_with_swift [0.014701s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.116152s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.011001s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type [0.024136s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.016159s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.018632s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_refresh [0.035802s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_rescue_interface [0.025400s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.017631s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.109915s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.010275s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.095199s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.007248s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.022171s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.074388s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.018572s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.013263s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.024275s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.012961s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ProcessExecutionError(None, None, None, None, None) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.014633s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.014666s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.090184s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [0.113184s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.017224s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.023144s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.015157s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.014511s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.018161s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.014144s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.011113s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.015103s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_account_exception_radosgw [0.011174s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.015801s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.093693s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.017382s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.026981s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.017234s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw [0.017225s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.116189s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_true [0.010904s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.018535s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.011981s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.009244s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.012969s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.014914s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.101516s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_get_ring_success [0.040320s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.100053s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.024141s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.096784s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.019311s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_ioerror [0.021302s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success [0.023005s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.109155s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.021881s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.020634s] ... ok {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.087696s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.112049s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error [0.015706s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.012212s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.011970s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.017897s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.020736s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.021436s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.028188s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.014710s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_out_range_auth_strategy [0.026913s] ... ok {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.095033s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi [0.028696s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_for_hrefs [0.025284s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.029950s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_classic_driver_unset_interfaces [0.141923s] ... ok {1} ironic.tests.unit.common.test_driver_factory.ClassicDriverMigrationTestCase.test_calculate_migration_delta [0.013989s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi [0.042272s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.019455s] ... ok {0} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.105629s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.133336s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.021476s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_uefi_rootfs_fails [0.030635s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.019849s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert OSError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.032023s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.019357s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.017201s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.016337s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.097143s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.012466s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.014274s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.013672s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.120101s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.011533s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.006742s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.006935s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.084215s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.018661s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.016772s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.085975s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.023498s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.086097s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.064176s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.050749s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.069124s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.043569s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.038417s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.071015s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.019000s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.007372s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.107944s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.014337s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.024737s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.014570s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.011713s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.022112s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.011932s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.019577s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.011108s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.017743s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.018547s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.086785s] ... ok {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.019977s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.029419s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.020060s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.095038s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.028950s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.089101s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task_incorrect [0.526455s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.019165s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.019585s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.088464s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.104671s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.098181s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.089603s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.074771s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.035862s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.090958s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.110787s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.097098s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.027442s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.088691s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.094429s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.081663s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_elilo [0.109770s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.037385s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.075694s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.059305s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.082320s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.016870s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.094583s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.079525s] ... ok {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_network_interface_is_set [0.079071s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.096061s] ... ok {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.014249s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.036157s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.017279s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.016214s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.039604s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.010906s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.042866s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.015104s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.021228s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.107234s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.011079s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.031383s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.039183s] ... ok {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.034180s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.015646s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.018184s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.019348s] ... ok {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.036609s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.041218s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.017541s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.096503s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.018739s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.012121s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.018662s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.012098s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.011854s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.036373s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.052365s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.012091s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.050909s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.014379s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.013099s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.020505s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.013508s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.013581s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000388s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.012158s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.020150s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.073742s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server [0.013263s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.098354s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_get_glance_api_server_fail [0.012544s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_false [0.012136s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.074974s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.056913s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.089585s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_no_refresh [0.040625s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.079778s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.013033s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.012202s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_connerror [0.008319s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.073018s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.011690s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_code [0.008634s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.011368s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.039178s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.022880s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.097907s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.021688s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.024419s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.046177s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.022957s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.017038s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ProcessExecutionError(None, None, None, None, None) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5_not_binary [0.012179s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.024110s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.040401s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.014192s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IOError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.021342s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.012108s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.013507s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.347402s] ... ok {2} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.015201s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_mkisofs_fails [0.037558s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.012981s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.020827s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.013542s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.015769s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.007439s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.098268s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.031171s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_bios [0.097348s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_volumes [0.059809s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.060554s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir_ipxe [0.035928s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.087419s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.022886s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.031587s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.012676s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.039414s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.030155s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.019878s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.030142s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.083666s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.030157s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.053695s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.036031s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.015607s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.080808s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.072349s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.018771s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.050749s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.010333s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.022546s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.019472s] ... ok {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.074500s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.022580s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.018778s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.019877s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.019011s] ... ok {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.011319s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.023345s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_current_release_entry [0.012457s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.019540s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.012579s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.010990s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.085369s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.025681s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.012801s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.012722s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.016778s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.012023s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.014986s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.012937s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.016784s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.011584s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.376050s] ... ok {3} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.011115s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.018661s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.078805s] ... ok {0} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.040112s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.085164s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.080890s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.011951s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.057125s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.012975s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.017032s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment_no_physnet [0.016525s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_deprecated_opts [0.022384s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.088899s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ClientException('',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.085720s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.222728s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.114660s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.106023s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.092741s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ClientException('Operation error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.099708s] ... ok {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.014271s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.192159s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.033595s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.040177s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.031316s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_name_conflict [0.021967s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.013350s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.020245s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.327082s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.020585s] ... ok {3} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.013372s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha1 [0.013658s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.013207s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_classic_drivers [0.047443s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.031552s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.016507s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.028535s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.028849s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.016371s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.047381s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5 [0.011842s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.029277s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_throws_for_invalid_or_unsupported_hash [0.013138s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.015435s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.023387s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.013031s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.011244s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.011848s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.013083s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.007413s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.014255s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.014026s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.327125s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.014568s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.052801s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.021493s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.006822s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.037957s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.011067s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.014882s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.012466s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.017726s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.011989s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.063711s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.009291s] ... ok {3} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_fails_to_load_extension [0.015502s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.010972s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.010138s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.022910s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.009073s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.010476s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.010154s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_skip_if_no_hw_types [0.022915s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.010410s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.010211s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.014286s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.022244s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.010969s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.187567s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.078272s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.393884s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.189625s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.012476s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.077064s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.029827s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_config_for_configdrive [0.144203s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_ipxe_config_uefi [0.082375s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.218383s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.183338s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.075160s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.076055s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.294177s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.081840s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_elilo_config [0.040316s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.252016s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.035955s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.048172s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.330569s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.025127s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.163280s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_uefi [0.058689s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.017959s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.194844s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.022324s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.043186s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.015428s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.018691s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.191650s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.017738s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.007437s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.023053s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.008054s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.011740s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.233008s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init___radosgw [0.077427s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.239009s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.077760s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.187904s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.096704s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.246798s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.028477s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha512 [0.011886s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.011728s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.012295s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.012891s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.228048s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.013645s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.017538s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.060537s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.059068s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.295988s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.058660s] ... ok {1} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_get_mockable_ext_mgr [0.008494s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.282619s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.067319s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.185083s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.331740s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.286925s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.145460s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.092017s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_not_supported [0.258112s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.241178s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.188127s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.228867s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_not_supported [0.057822s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.055650s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.302011s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.183797s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.280071s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.308831s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.256310s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.032343s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.050058s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.295911s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.042078s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.071909s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.098259s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.257469s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.059454s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.177975s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.101726s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_driver_or_hw_types [0.025689s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.110606s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.249451s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.061573s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.158036s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.214407s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.063653s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.130694s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.174101s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.229206s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.118042s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_dynamic_drivers [0.111730s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.065819s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_without_enabled_hardware_types [0.068939s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.233836s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.088128s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.285171s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.117449s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.264793s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.259378s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.226825s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.195225s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.273853s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.298701s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.259566s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.287990s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.451627s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.142356s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.275170s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.290041s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual [0.268554s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.133952s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.211232s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.102798s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version_deprecated [0.549157s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.105137s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.112291s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_no_skip [0.068868s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.271754s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.363893s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.308303s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.505486s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.296685s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.251699s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.244816s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.260949s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.504807s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.226724s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.062503s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.101332s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.440249s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.094976s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.291345s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.069625s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.216402s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.567663s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.204910s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.366877s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_automated_clean [0.304908s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.239859s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.138543s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat [0.317380s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.115607s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_manual_clean [0.333182s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_deploy_timeouts [0.325343s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.224795s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort [0.106413s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_tear_down_fail [0.107205s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version [0.493409s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_unexpected_error [0.302356s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.288521s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_unset_clean_step [0.079985s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_unexpected_exception [0.274049s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.318411s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_error [0.285734s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.252318s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_configdrive [0.238111s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok [0.253154s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.298055s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.268885s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_unexpected_prepare_error [0.282991s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated [0.246985s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_2 [0.298802s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.262781s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.117105s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.284856s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps [0.069649s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_ok [0.305414s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.301541s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.291378s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.321366s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.230435s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.267708s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_with_step_name [0.076920s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.327832s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [0.289520s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_swift_error [0.225776s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provisioning_action_worker_pool_full [0.304805s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.256267s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.293181s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.253178s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_check_rescuewait_timeouts [0.296848s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.192799s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.366208s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.283565s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.284826s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.298831s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.128016s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.090148s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.305486s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_invalid_state [0.243673s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.163932s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.117268s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_validate_fail [0.081139s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.244549s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.253785s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.015316s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.266725s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.023891s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.022228s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.022440s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.275667s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.245325s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_manual_clean [0.498826s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_node_not_locked [0.234620s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.021919s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.030095s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.029927s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.031276s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.050606s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.019800s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.020257s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.262278s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.020507s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.301697s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_manage [0.265669s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status [0.226136s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ilo [0.213687s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_db_error [0.219728s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_disabled [0.022176s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.020089s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.028539s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_provide [0.263025s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.028834s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.052952s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_snmp [0.169494s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.020211s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.018914s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.129268s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.019618s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.051660s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_prepare_error [0.289128s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.096296s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.152934s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.298748s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.269769s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.116146s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.075580s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.411896s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.301896s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.086209s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.145788s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.177635s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.112623s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.075583s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.102728s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.128199s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.256825s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.201192s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.325769s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.133984s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.208773s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.084356s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.104581s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.283645s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_disabled [0.021088s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.019419s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.020614s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.192416s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.036509s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.141932s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_exceptions_skipping [0.266103s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeout [0.021362s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.020549s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.021063s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.558332s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.024306s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.027885s] ... ok {3} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift [0.065854s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.022426s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.017143s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.018872s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.036645s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.016665s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.236441s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.031002s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.052672s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.085687s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.116222s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.055841s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.058820s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.118139s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.056135s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.030970s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.039966s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.022192s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.022294s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.021174s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.321175s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.030604s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.018583s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.015369s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestHardwareTypeProperties.test_hardware_type_properties_manual_management [0.148587s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.344568s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_agent_ilo [0.203612s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.153551s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states [3.006897s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.327159s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.217488s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_automated_clean [0.269788s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.293249s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ipmitool [0.187568s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.018565s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.017103s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.138334s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_clears_maintenance_reason [0.101744s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.043918s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_ipmitool [0.193350s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.300497s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.246467s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_not_supported [0.084922s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.118405s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.110774s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.524698s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.250870s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_not_supported [0.090785s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.195536s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.089277s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.113525s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_multiple_workers [0.308450s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_validate_fail [0.071401s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices [0.061755s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.202164s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices_iface_not_supported [0.060349s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.303017s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.015084s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.015642s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.012984s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_node_locked [0.060538s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_iface_not_supported [0.104385s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_implemented [0.083652s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_alive [0.197497s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.014851s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.047446s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.029231s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_no_management [0.202101s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.017592s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.021064s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.303184s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.013677s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.095043s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_shutdown [0.184912s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_pxe [0.145856s] ... ok {0} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive [0.060478s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.016093s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device [0.101935s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.086693s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_validate_fail [0.083716s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo_iscsi [0.179630s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.113756s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.098956s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_snmp [0.153547s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.063295s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.121452s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [3.279318s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces [0.057706s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.094557s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.065100s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.233084s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.089815s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.407857s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_timeouts [0.320013s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_not_supported [0.074473s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.078501s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.060628s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_missing_param [0.097405s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.071322s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.278554s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.125899s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task [0.202942s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_node_locked [0.061055s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.862663s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.130033s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.246812s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.108019s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.133611s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.186832s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.109271s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.100865s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.159194s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_all [0.159490s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.270333s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.096898s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.095167s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_non [0.210308s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.237601s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_node_locked [0.059481s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.107808s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.089402s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.290172s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi [0.085975s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.091935s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.077092s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.029060s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.012363s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_invalid_param [0.078179s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.011159s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.013634s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.167292s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.018016s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.022182s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.151069s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_not_supported [0.083599s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.021715s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.018917s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.018956s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.019241s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.110631s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.080514s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.031135s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync_hw_type [0.134390s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.103599s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods_not_supported [0.058369s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.129268s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.082449s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.107878s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.225857s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.073045s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.016805s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.016362s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.013887s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.206336s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.015785s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.098792s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.014539s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.081934s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.012183s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.009615s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.010534s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.014765s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.034695s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.027295s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_with_driver [0.025423s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.030249s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.218077s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.025128s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.025284s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.026174s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.252113s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state [0.277449s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.055066s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.010102s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.011629s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.015159s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.019653s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.015328s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.014718s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_vendor_interface_not_supported [0.219514s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.174951s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.043135s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.193720s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.016675s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.076733s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.015603s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.087142s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.057903s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.013504s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.018327s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.012455s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.049956s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.011623s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.021388s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.060075s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.038796s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.232376s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.034641s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.020391s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.066716s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.020087s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.018613s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.287631s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.019683s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.020043s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.153243s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.019347s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.024162s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.116342s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.017024s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.015125s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.014657s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.085693s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.045077s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.128156s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.186462s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.036895s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.038143s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.040133s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.117773s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.131801s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.039324s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.014398s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.022437s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data [0.186147s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout [0.014740s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_random_exception [0.015333s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_shared_lock [0.013979s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.015076s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.015561s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.152065s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.197648s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.080446s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_disabled [0.159214s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.118185s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.104933s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async_hw_type [0.233380s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_part [0.148178s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.140040s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.124462s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device [0.077278s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_supported [0.071068s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.120831s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.145457s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.099553s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.265620s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.138980s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.087546s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.149118s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.087431s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.080342s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.134696s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.070857s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.255769s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.079302s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.085222s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.136304s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.055028s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.133754s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.098303s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.097219s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.227892s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.095886s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.138021s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.074127s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.088336s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.092634s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.098051s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.084267s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.085595s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.090385s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.072992s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.090935s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.042399s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.131297s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.102892s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.099647s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.071953s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.025162s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.020872s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.018891s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.012578s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_vendor_interface_not_supported [0.131381s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.101060s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.012401s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.011761s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.014762s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.017983s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.078154s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.037479s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_hw_type [0.117996s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.046697s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.050275s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.031919s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.057561s] ... ok {3} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.012601s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.020609s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.018829s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {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.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.019058s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.138037s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.014157s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.012921s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.018470s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.018391s] ... ok {2} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_empty_db [0.022754s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.017101s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.012445s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.018094s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.014595s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_no_version [0.053730s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.012230s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_not_supported [0.125350s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.027263s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {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 {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.035294s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.012667s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.058932s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.021231s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.020341s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.023254s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.035435s] ... ok {3} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_max_count_zero [0.033065s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.026807s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.038940s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.028886s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.037429s] ... ok {3} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_same [0.070956s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.042382s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.045724s] ... ok {0} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_ironic_exception [0.015173s] ... ok {3} ironic.tests.unit.db.test_api.MigrateToHardwareTypesTestCase.test_migrate_unsupported [0.068864s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.016114s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.254505s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.017174s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.017354s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.017469s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.015685s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.015832s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.108286s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.017925s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.021792s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.042086s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.014551s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.021499s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.016778s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.036365s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.019731s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.226532s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.064985s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_and_drivers [0.038530s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_many_drivers [0.032616s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_one_driver [0.027210s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.083653s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.053356s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.026637s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.085785s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.027668s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.028292s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.232203s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.029326s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.032863s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.126370s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.032676s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.110641s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.049277s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.035006s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.070623s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.010968s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.023039s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.138646s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.022064s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.026666s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.016681s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.024884s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.788365s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.010124s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.016156s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.055583s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.019096s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.012211s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.011972s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.073231s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.012362s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.012252s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.125210s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.012309s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.035260s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.016208s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.013043s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.016776s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.051761s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.016605s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.017226s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.031928s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.019163s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.119730s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.018965s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.039076s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.020398s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.026568s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.019768s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.016678s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.020289s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.261437s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.020809s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.023807s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.013036s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.019604s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.018799s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.022640s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.056624s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.018560s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.179968s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.011854s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.014652s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.016251s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.123994s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.014431s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.015444s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.093260s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.074155s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.034758s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.037503s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.073130s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.066080s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.034822s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.051619s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.044139s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.222349s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.074352s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.041111s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.058888s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.033698s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.081068s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.081227s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_with_driver [0.048795s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.049485s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.025831s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.092521s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.038958s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.098473s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.044126s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.061099s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.012799s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.014665s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.092125s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.014266s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.090106s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.017697s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.056132s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.033110s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.014224s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.016522s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.014644s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.053788s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.075290s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.037161s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.108359s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.040818s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.087774s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.039638s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.036510s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.035874s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.079518s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.047422s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.079151s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.057983s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.045566s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.083689s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.043431s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.068115s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.032851s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.014992s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.031981s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.043182s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.061676s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.040681s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.060590s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.056958s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.041986s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.044173s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.099001s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.033634s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.039326s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.031823s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.115079s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.041227s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.039712s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.085471s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.032452s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.040728s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.034780s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.034769s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.125778s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.037690s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.034666s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.036657s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.048890s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.040061s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.028531s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.013937s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.019485s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.018521s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.024145s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.048164s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.030427s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.023674s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.028332s] ... ok {3} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.009768s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.033778s] ... ok {0} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_2_some_conductors [0.079375s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception('No module mymod found.',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.032756s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.062002s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.008291s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.033553s] ... ok {0} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_one_conductor [0.040131s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.042208s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.026650s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.052838s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.031549s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.344811s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.034437s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.044751s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.009466s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert NoMatches("No 'ironic.dhcp' driver found, looking for 'bad_dhcp'",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.011971s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.010699s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.109249s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.052688s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.035419s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.034543s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.124542s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.048563s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.022005s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.111743s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.035195s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.071682s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.020719s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.021038s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.071170s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.119646s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.090122s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.069624s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_no_driver [0.018555s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.074154s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.100740s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.044689s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.093334s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.072366s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.033732s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.083766s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.035960s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.068624s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.031725s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.080808s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.046127s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.100875s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.076743s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.032557s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.069742s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.028932s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.035803s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.092915s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.096616s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.078516s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.037334s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.032480s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.063159s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.026133s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.111483s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.029431s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.136991s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.030850s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.083617s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.026049s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_to_instance [0.095440s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.036086s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.058796s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.020982s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.018136s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.121794s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.031240s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.091635s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.082480s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.045477s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.020560s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.075690s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.029815s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_force_reboot [0.153597s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.054932s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.009400s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.089234s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.059139s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.062508s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.030946s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.018369s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.017835s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.030375s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_version_exists [0.025220s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.101200s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.038544s] ... ok {1} ironic.tests.unit.db.test_api.MigrateToHardwareTypesTestCase.test_migrate [0.067055s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.089539s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.025943s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.088020s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.159804s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.038596s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.021760s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.047693s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.097275s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.060747s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.050645s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.114700s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_one_driver [0.020344s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.026346s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_with_old_conductor [0.027727s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.049476s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_username [0.025288s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.019105s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.112171s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.022258s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.031729s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state [0.073121s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.079753s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception('Boom',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login_exception [0.058249s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.030861s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info [0.018714s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.045864s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.046620s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.016456s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_ok [0.081772s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.030858s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.034140s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device_fail [0.080241s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.031839s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.048811s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.022858s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_ok [0.086758s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.030394s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_properties [0.079006s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.043357s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.041512s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.035148s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_validate [0.074515s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.024520s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device_fail [0.078129s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.030558s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.020653s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change [0.067987s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.024993s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_validate [0.059730s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.024244s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.025932s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_fail [0.059519s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception('boom',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state_fail [0.059897s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.029841s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.033343s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.071802s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_invalid_state [0.063997s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.030309s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.029718s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_fail [0.074563s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert BaseClientException('boom',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.088540s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.033653s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.030710s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_fail [0.068340s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.025896s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.069925s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.027709s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.047130s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.023838s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_timeout [0.067593s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.017788s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host [0.019823s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.047897s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.023366s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_ok [0.070400s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.018354s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.030745s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.008121s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.020500s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.025010s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_imc_exception [0.056075s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.079851s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.579528s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert BaseClientException('boom',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.064049s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.077316s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.018057s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.020967s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.071064s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.019446s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.049776s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.109017s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.082364s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.024294s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.086244s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.106734s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.101594s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.032314s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.031560s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.034124s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.035263s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.076219s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_continue_deploy [0.114398s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.060057s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.075335s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.060837s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.109625s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed [0.085066s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.079413s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.028619s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.047202s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.593477s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs [0.033240s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed [0.101155s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.022034s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.026725s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.030280s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.104556s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.037033s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.048532s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.028994s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.020563s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.023036s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.077123s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.030587s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.053247s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.100245s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.019406s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.048271s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.034407s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.032802s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.020201s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_deprecated_opts [0.036224s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.059724s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.114963s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.038375s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.044505s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.064142s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.054807s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.082479s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.046799s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.130192s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.028791s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.032213s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.026334s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.115117s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.040573s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.050847s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.114908s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.053397s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_noglance [0.352138s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.032345s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.104595s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.063813s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.313195s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.038560s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ProcessExecutionError(None, None, None, None, 'VIKINGS!') to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.033455s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.059089s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.030007s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_password [0.027437s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.050836s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.143234s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.143615s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.071989s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device [0.099150s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.049603s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.119897s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.045697s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_off [0.080836s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.144582s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.041047s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on [0.062350s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.036333s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.135578s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.034503s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.121728s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.046199s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on_timeout [0.087344s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info [0.029561s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.037745s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.031353s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_phyisical_disks [0.119778s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert BaseClientException('boom',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.032796s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.063937s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host_and_drac_address [0.022182s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.029477s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance [0.048460s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.079038s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.022884s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.030794s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_on_webserver [0.032725s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.038422s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.060642s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.057189s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.030574s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.072339s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.038297s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.026537s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.028154s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.037348s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.084643s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.073209s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.033860s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.045746s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_object_name [0.023615s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.026738s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create_use_webserver_true_ramdisk_webserver [0.088594s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_invalid_job_queue [0.048272s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_uuid [0.056356s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.077283s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.068618s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.057607s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.083904s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.031847s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.078262s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.056514s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.059510s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.050496s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.072278s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance [0.095268s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.081131s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.113917s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.065365s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.044256s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.078341s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.072522s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.095830s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.052095s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.026383s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.020419s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.078725s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.090801s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.026457s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.102198s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.024823s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.031513s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.028044s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.076727s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.113368s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.098578s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.134125s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.133511s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_exc [0.071788s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.139814s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_no_boot_iso [0.035279s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.374263s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_soft_poweroff_retry [0.144622s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_recreate_boot_iso_use_webserver [0.123296s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.134210s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.120531s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.110083s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.025622s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.030048s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_InvalidParam [0.081410s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.029405s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.114163s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.089561s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_MissingParam [0.082103s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.030445s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.089378s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.034417s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.028962s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.101818s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.029924s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.031715s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.109993s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.076117s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.044890s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login [0.077470s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.043311s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.072728s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.048202s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.110784s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleTestCase.test_cimc_handle [0.097084s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.055910s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.063061s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_address [0.027306s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IloError('error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.032222s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.080739s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.040735s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.037534s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.035131s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device [0.081723s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.025646s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.061435s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.110028s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.051754s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_sensors_data [0.071727s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.072703s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.076218s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_supported_boot_devices [0.077227s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.093217s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.091795s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_properties [0.072209s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.087945s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.081240s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.084045s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception('boom',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_fail [0.080160s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.026823s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.082308s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.087669s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.029965s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.031383s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.028050s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.037684s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.075134s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.027295s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.027429s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.054734s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert BaseClientException('boom',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.028729s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.081376s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.060722s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.173783s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.011620s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.009865s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.015333s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.076181s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.085517s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.040445s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.087263s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.037695s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.086202s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.099898s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.010514s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.066475s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.056525s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.099679s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.086467s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IloError('error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.080845s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.033334s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.069351s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.023619s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.032900s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_not_supported [0.037554s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.033336s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_ok [0.029331s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.086859s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IndexError('list index out of range',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.035692s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.066195s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.061582s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.099758s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.069820s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.078496s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.078691s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.065241s] ... 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.287053s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.041650s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.009785s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.076183s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job [0.114897s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.111609s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.069368s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.076318s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.118576s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.012951s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.122550s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.068043s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.074724s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.105937s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.081481s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed [0.127397s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.085045s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.086467s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.119182s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.033681s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status [0.056546s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.031256s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.027661s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.062264s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.026484s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.099775s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.113946s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.031395s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.026098s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.079754s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.016128s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.092227s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.029896s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.020349s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.105822s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.086187s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.052154s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.016654s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.012102s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IronicException(u'An unknown exception occurred.',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_processing_on_any_url_fails [0.087973s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.077711s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_without_component [0.083646s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.110356s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.078950s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist [0.204716s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.018576s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.048998s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.019154s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert InvalidParameterValue(u'This method does not support URL scheme . Invalid URL any_valid_url. The supported firmware URL schemes are "file", "http", "https" and "swift"',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_checksum_validation_error [0.081581s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.025537s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.051864s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.112322s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.026962s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_no_firmware_url [0.047510s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.025712s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist_mac_exception [0.053981s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.025452s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.070912s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_fail [0.030157s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.078624s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.028288s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.055683s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_swift_error [0.089534s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.031897s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.066134s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_environment_error [0.103822s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.033888s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_with_logs [0.061175s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.034102s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.059598s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_unknown_exception [0.068692s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.034875s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_without_logs [0.076848s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_timeout [0.067317s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.058448s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.059154s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IloCommandNotSupportedInBiosError('error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.066863s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.068959s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration [0.123401s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.064275s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception('fake error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.077899s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.084416s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IloError('error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.075307s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.081073s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.156949s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.082638s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.086568s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.078296s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.083111s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IloCommandNotSupportedInBiosError('error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.080218s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration [0.144453s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.057788s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.084056s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.089991s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [0.057780s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.092502s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.079058s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.113583s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [0.061211s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.074872s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.052268s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.078664s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.081921s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.033699s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.056058s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_missing [0.031328s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_uefi_no_glance_image [0.094967s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.043590s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.079320s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.046794s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.084862s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.073804s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown [0.106248s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.075237s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.125366s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_invalid_component [0.078028s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.076725s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert InvalidParameterValue(u"Component 'xyz' for firmware update is not supported in 'ilo' based firmware update. Supported values are: ilo, cpld, power_pic, bios, chassis",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_invalid_component_type [0.059868s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.081319s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_if_invalid_update_mode_provided [0.061243s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.151563s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_url [0.310401s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.049227s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception('fake error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.020787s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.079729s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IOError('fake error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.087948s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.089137s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_invalid [0.064993s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.032801s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state [0.085653s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.029681s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.032770s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.029928s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.035335s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.097347s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.028787s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.086714s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.088325s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.079195s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.115337s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.104517s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.087806s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_is_force_persistent_boot_device_enabled [0.072186s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.078676s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.087939s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.029962s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.030156s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.077123s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.077963s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.117123s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_deploy_iso_with_file [0.073686s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.084137s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.091910s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_deploy_iso_with_image_service [0.068590s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.128563s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.088688s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.070629s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.111418s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.114607s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.143554s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.116933s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.114273s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_without_copy [0.145663s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.108853s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.065671s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.154746s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.130307s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.065090s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.065716s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.133894s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.067270s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.149001s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.105485s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.072704s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift [0.141755s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.087190s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.097814s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.069816s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IloError('error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.035073s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.082767s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.119910s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.095472s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.099297s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.063375s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.069341s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.117926s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.070896s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.051333s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.043665s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.112372s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.096048s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.087662s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.095907s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.331225s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.111971s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.089695s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.078409s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.099922s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_no_cafile [0.052844s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.110337s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.075466s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.109553s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.100621s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.127874s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.033608s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IloCommandNotSupportedError('error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.100255s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.128123s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.037497s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.102073s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.192007s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.087267s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.082353s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.085510s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.034306s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IOError(2, 'No such file or directory') to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.032475s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception('fake scci error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.140446s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.187778s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.032160s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.029251s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.026664s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.356492s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.092056s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.039554s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.142269s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.042424s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.014016s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.151362s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.066489s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.173073s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.160493s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.079764s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.152596s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.059517s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.141008s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.029141s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.044737s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.029362s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.015289s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.158367s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.014192s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.013178s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.043430s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.014823s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.025398s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.014892s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.012197s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.160374s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.059843s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.128428s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.030969s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.034693s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.069120s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.032255s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.136106s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.031763s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.028841s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.161949s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.029050s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.090211s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.028030s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.034911s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.029372s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.034165s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.028479s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.029250s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.032601s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.177351s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.069094s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.030535s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.325542s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.105514s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.073000s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.065089s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.027754s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.085282s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.030657s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.071110s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.128548s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.028878s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.049459s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.028898s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.104738s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.083108s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.079148s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert ValueError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.115502s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.091079s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.130867s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.058569s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.091135s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_clean_step_foreach_url [0.098178s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.084684s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert InvalidParameterValue('Fake Error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.207933s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.088906s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_swift_url [0.084761s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.076262s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids [0.067495s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.074821s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_zero_and_existing_cap [0.063829s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.083108s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.077209s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.070716s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.066130s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.061459s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.072611s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.108668s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert SNMPFailure('fake exception',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.069917s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.080585s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot [0.087773s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.060122s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.106303s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.081488s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.083337s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_boot_iso_name [0.033255s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_deploy_iso_name [0.030294s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.061758s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.040300s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.337452s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.035788s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.031625s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.354498s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.032208s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.144785s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.031132s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.029756s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.081678s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.088645s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.112395s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.088710s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.060264s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.112342s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.409901s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.390620s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.062889s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.065413s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.061943s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.062156s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.025670s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.073694s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.086452s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.063312s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.061225s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.069589s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.082901s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.061843s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.070487s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.073396s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.061329s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.078851s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.107448s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.083365s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.104609s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_iscsi [0.094228s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.084776s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.227829s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.084043s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.112079s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.152988s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.057779s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.062517s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.069634s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.146464s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.066466s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.282163s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.107023s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.100112s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.087270s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.319244s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.102865s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.079475s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.107462s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.264455s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.117338s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.075525s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.083567s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.086264s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.096389s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.079396s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.210337s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.197005s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.089328s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.080362s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.075942s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.086501s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.080059s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.086182s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.221829s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.087744s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.085560s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.065955s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif [0.099597s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.319441s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.085729s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.079650s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.099062s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.097410s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_extra_new_key [0.097939s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.090710s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.080314s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.195943s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.079917s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.069796s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.084254s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.066576s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.074855s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.069754s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.077701s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif_removal_no_deprecation [0.063948s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.112276s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.073465s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.074274s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.101638s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.079424s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.120674s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.069832s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.054074s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.024842s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.101371s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.202154s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.090851s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.023147s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.070159s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.024260s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.030256s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.066258s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert Exception() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.059099s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.039819s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.024970s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.093826s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_input [0.027579s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.174457s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.070839s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.037495s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.125132s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.071002s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.203447s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.082131s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.095508s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.220026s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.066784s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif [0.070930s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.118676s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.115832s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.035944s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.101181s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.157015s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.211810s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_and_existing_cap [0.254549s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.066799s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.060314s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.059856s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.071904s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_binding_host_id_raise [0.088929s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.059820s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.065884s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id_portgroup [0.090540s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.066727s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.067619s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_spt_enclosure_group_invalid [0.017843s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client_insecure_cafile [0.030744s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.072279s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.184691s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.058783s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert InvalidParameterValue(u'Malformed capabilities value: anything',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_malformed_capabilities [0.030602s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.040178s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_spt [0.027718s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info [0.019081s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.080652s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_properties [0.018102s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.087652s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.073085s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sht [0.025425s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.075167s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_cleaning [0.055385s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.069380s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.063887s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.082893s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.039721s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_not_in_use_by_oneview [0.132728s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.091606s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.036636s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.078630s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.306147s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.120845s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_maintenance_when_raise_exception [0.173882s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.066656s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.082412s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.117828s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview [0.077532s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.075461s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.102865s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down [0.059353s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.055292s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.083585s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_validate [0.046367s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.088096s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.057987s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.058136s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.115452s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.087083s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device [0.107622s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.073700s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.065891s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert HPOneViewException() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_fail_to_get_server_profile [0.081027s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.100679s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.079144s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.083169s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.082502s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_not_persistent [0.106586s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.085661s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.101514s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.070767s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_fail [0.086884s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.077842s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.105528s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_unknown_device [0.091052s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.138731s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_properties [0.033573s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.094782s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.086021s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.078259s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_true [0.088700s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.078623s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.087578s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.073320s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_enclosure_group_invalid [0.020329s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_manage_boot_false [0.017712s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state_fail [0.074707s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.064785s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_server_hardware_type [0.023940s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info [0.017820s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.083627s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sh [0.018777s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.054060s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_missing_parameter [0.088378s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.048992s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_no_deprecation_if_removing_vif [0.082376s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_deploy [0.076286s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_get_properties [0.024402s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.060166s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.098266s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.086486s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.059772s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.065189s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_cleaning [0.101015s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.071343s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_port_mac_server_hardware_invalid [0.027383s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.085573s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_cleaning [0.088748s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_server_profile_template_mac_type_virtual [0.029390s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.025675s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_missing_values_empty_string [0.024281s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.026087s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client [0.038020s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_with_automated_clean_disabled [0.082598s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.231687s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_hponeview_client_insecure_false [0.027845s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_ilo_access [0.028387s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.085346s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_sh [0.028187s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_deploy [0.073570s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_driver_info [0.032794s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.082789s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_spt [0.029431s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare [0.113550s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.098096s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_validate [0.096319s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.257454s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_get_properties [0.037183s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_deallocate_server_hardware_from_ironic [0.091924s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.126337s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_has_sp_applied [0.069502s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.093292s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.092889s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down_cleaning [0.105831s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.112050s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_raise_exception [0.201584s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_get_properties [0.058713s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.064750s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.083782s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.067124s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test__is_onetime_boot_true [0.077178s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.106688s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_clean_failed_when_no_oneview_error [0.169232s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_onetime_boot_not_persistent [0.082171s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.099896s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.087032s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail [0.086281s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.054684s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.103481s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.052716s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state [0.090880s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.055754s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.115967s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.049463s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail_with_hardware_on [0.087991s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.098381s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.090213s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off [0.096046s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_when_in_use_by_oneview [0.432851s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__create_profile_from_template [0.031598s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_multiple_commands [0.091102s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.083184s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_with_timeout [0.066821s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done [0.064610s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__del_applied_server_profile_uri_field [0.084192s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id [0.081517s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_off [0.086158s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_empty_response [0.086275s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic [0.088060s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.092007s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_off_with_timeout [0.093490s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_race [0.094237s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic_no_server_profile [0.081505s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.072159s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.057192s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_no_server_profile [0.085321s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.206949s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_same_server_profile_applied [0.058354s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.170105s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.091700s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert OneViewError(u'OneView exception occurred. Error: Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is already in use by OneView.',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_in_use_by_oneview [0.082934s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.077900s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.109358s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.110565s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_inspect_hardware [0.089694s] ... ok Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 457, in fire_timers timer() File "/usr/lib/python2.7/dist-packages/eventlet/hubs/timer.py", line 58, in __call__ cb(*args, **kw) File "ironic/drivers/modules/inspector.py", line 163, in _start_inspection purpose=lock_purpose) as task: File "ironic/conductor/task_manager.py", line 168, in acquire driver_name=driver_name, purpose=purpose) File "ironic/conductor/task_manager.py", line 244, in __init__ self.release_resources() File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "ironic/conductor/task_manager.py", line 227, in __init__ self._lock() File "ironic/conductor/task_manager.py", line 276, in _lock reserve_node() File "/usr/lib/python2.7/dist-packages/retrying.py", line 49, in wrapped_f return Retrying(*dargs, **dkw).call(f, *args, **kw) File "/usr/lib/python2.7/dist-packages/retrying.py", line 206, in call return attempt.get(self._wrap_exception) File "/usr/lib/python2.7/dist-packages/retrying.py", line 247, in get six.reraise(self.value[0], self.value[1], self.value[2]) File "/usr/lib/python2.7/dist-packages/retrying.py", line 200, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) File "ironic/conductor/task_manager.py", line 269, in reserve_node self.node_id) File "ironic/objects/node.py", line 312, in reserve db_node = cls.dbapi.reserve_node(tag, node_id) File "/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 147, in wrapper ectxt.value = e.inner_exc File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 135, in wrapper return f(*args, **kwargs) File "ironic/db/sqlalchemy/api.py", line 305, in reserve_node raise exception.NodeNotFound(node_id) NodeNotFound: 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.130801s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.101757s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_inspect_hardware [0.088626s] ... ok Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 457, in fire_timers timer() File "/usr/lib/python2.7/dist-packages/eventlet/hubs/timer.py", line 58, in __call__ cb(*args, **kw) File "ironic/drivers/modules/inspector.py", line 163, in _start_inspection purpose=lock_purpose) as task: File "ironic/conductor/task_manager.py", line 168, in acquire driver_name=driver_name, purpose=purpose) File "ironic/conductor/task_manager.py", line 244, in __init__ self.release_resources() File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "ironic/conductor/task_manager.py", line 227, in __init__ self._lock() File "ironic/conductor/task_manager.py", line 276, in _lock reserve_node() File "/usr/lib/python2.7/dist-packages/retrying.py", line 49, in wrapped_f return Retrying(*dargs, **dkw).call(f, *args, **kw) File "/usr/lib/python2.7/dist-packages/retrying.py", line 206, in call return attempt.get(self._wrap_exception) File "/usr/lib/python2.7/dist-packages/retrying.py", line 247, in get six.reraise(self.value[0], self.value[1], self.value[2]) File "/usr/lib/python2.7/dist-packages/retrying.py", line 200, in call attempt = Attempt(fn(*args, **kwargs), attempt_number, False) File "ironic/conductor/task_manager.py", line 269, in reserve_node self.node_id) File "ironic/objects/node.py", line 312, in reserve db_node = cls.dbapi.reserve_node(tag, node_id) File "/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 147, in wrapper ectxt.value = e.inner_exc File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in __exit__ self.force_reraise() File "/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in force_reraise six.reraise(self.type_, self.value, self.tb) File "/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 135, in wrapper return f(*args, **kwargs) File "ironic/db/sqlalchemy/api.py", line 305, in reserve_node raise exception.NodeNotFound(node_id) NodeNotFound: 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.084900s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.110438s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_onetime_boot_persistent [0.102095s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.074321s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_supported_boot_devices [0.073910s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.092094s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.031458s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_image [0.376909s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_for_node_not_in_use_by_ironic [0.102924s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.098437s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.106643s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_properties [0.029247s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.157486s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_fail [0.088579s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.122428s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.120464s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.034058s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.091498s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.031824s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.028864s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.101261s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_fail [0.127477s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.034449s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.105357s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.035219s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.093477s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot [0.092784s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.101506s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.096743s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot_with_hardware_on [0.084285s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.122911s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.037549s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.092822s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.070274s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.085445s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.124175s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.069277s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.068541s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.025618s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.068860s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.082969s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.094332s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.063377s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot [0.075517s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.091808s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.087001s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__validate_node_server_hardware_type [0.031943s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.125993s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_fails [0.029081s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.066090s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info [0.027407s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert MockedConnectionError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_prepare_manager_url [0.030297s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.035409s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.161416s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert MockedResourceNotFoundError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.039079s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.029759s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_validate_oneview_resources_compatibility [0.093320s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.031570s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.175560s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.098983s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare [0.111188s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.190267s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.128180s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.086226s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_uefi [0.091850s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_post_clean_step_hook [0.029289s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.129934s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.110825s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy [0.111664s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.111724s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.137927s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_configure_tenant_network_exception [0.138239s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.098868s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.115229s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.087725s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_fails [0.119034s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.087582s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.148930s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue [0.104115s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_active_node [0.631196s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.102245s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.124937s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_bad_command_result [0.129839s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.109090s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.086279s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_missing_command_result [0.087046s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.087807s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.080438s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.081413s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.082174s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_image_source_is_url [0.155088s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue [0.123051s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.095537s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean [0.118055s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_ramdisk [0.086200s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_partition_image [0.140378s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.088313s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_active_node [0.645588s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_no_proxy_without_proxies [0.114633s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down [0.069579s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.102221s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_is_done [0.080613s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_cleaning [0.060467s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.070805s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.274790s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_still_running [0.091029s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_with_automated_clean_disabled [0.072153s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.083438s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_interface [0.094761s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.094183s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_validate [0.093136s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started [0.089798s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_steps [0.094891s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.013066s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.014470s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.017354s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.017453s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.024863s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.023208s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.132711s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.188436s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.017004s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IOError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.020027s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_available_when_not_in_use_by_oneview [0.200322s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.042826s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.045696s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.157124s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.037260s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.021426s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.184777s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.028345s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.017532s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_in_use_by_oneview [0.192709s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.088710s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_get_clean_steps [0.077128s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance [0.162040s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.079288s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step [0.081702s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_oneview_error [0.193519s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.091918s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_none [0.160546s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.111999s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__add_applied_server_profile_uri_field [0.077980s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.017295s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.016116s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.092572s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.088250s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.028458s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic_node_has_server_profile [0.085209s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.027779s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.027223s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.086899s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.029058s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot_fail [0.106300s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic [0.080756s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.026880s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.082748s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert OneViewError(u'OneView exception occurred. Error: Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is already in use by OneView.',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_node_is_in_use_by_oneview [0.099582s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.105716s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.127556s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.033173s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot [0.112014s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert InsufficientDiskSpace(u"Disk volume where 'a' is located doesn't have enough disk space. Required 2 MiB, only 1 MiB available space present.",) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.033245s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_does_not_have_sp_applied [0.082680s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.029712s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook [0.047992s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_fail [0.099608s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.028881s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook_no_hook_registered [0.043410s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_dev [0.028454s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.029902s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.028266s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.010421s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.080283s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.010876s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_reboot [0.124243s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.011015s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.012000s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.011193s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.023300s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.012823s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.087245s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_unknown [0.088156s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.022393s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.026477s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.011733s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_successfuly_allocated_to_ironic [0.309009s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.015676s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.011951s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_running [0.082983s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_get_properties [0.058037s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.110048s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.088321s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.106685s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_validate [0.078575s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.090327s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.088373s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test__is_onetime_boot_false [0.076717s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.105475s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_invalid_device [0.058516s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.072152s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device [0.054220s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off [0.098283s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.067420s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.022757s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.018262s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_from_next_boot_device [0.073016s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.022074s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.025508s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_off_fails [0.112380s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.026382s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_sensors_data_not_implemented [0.058752s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.015932s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_get_power_state_fails [0.336337s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.052831s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_invalid_device [0.074658s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id [0.047772s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_on_fails [0.136690s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.012378s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off_failed [0.103883s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.016310s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.013196s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_false [0.097726s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.019975s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.016522s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.023634s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.110647s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.020048s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert IronicException('No pass',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_exc [0.118652s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate [0.089993s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.023061s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_url [0.024247s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_ok [0.022253s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.016622s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail_exception [0.069390s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.016261s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.016536s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.117330s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_supported_power_states [0.050823s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.148908s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.021412s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.028285s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.026687s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps [0.077166s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail_with_hardware_off [0.068396s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.014140s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.027071s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.011572s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.007436s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.027716s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.017336s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.009805s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_invalid_state [0.066302s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.010436s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.012289s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.020853s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.075415s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_with_timeout [0.059034s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.014584s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.015749s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.009754s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on [0.059039s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.063177s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.035260s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_soft_reboot [0.046313s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.045365s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd [0.067123s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate [0.043907s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.022074s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.043946s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.030023s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.021677s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_exception [0.051160s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.019214s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console [0.067206s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_running [0.056016s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_node_in_use_by_oneview [0.063128s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate [0.049336s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.509895s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.062761s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_custom_interface [0.083790s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.070890s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot [0.074170s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.092633s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.069994s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.105838s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.093453s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.094380s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.073928s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.011144s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.029899s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.013121s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.011639s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.088438s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.028231s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.011329s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.017974s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.011854s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.055880s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.012065s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.027493s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.019380s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.017279s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.017684s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.021649s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.061422s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.021908s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.019362s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.072495s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.015733s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.028942s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.020950s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.034700s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.026062s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.081471s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.036671s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.078802s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.030252s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.020135s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.062729s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_config [0.025782s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.079670s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.102895s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.071401s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.089008s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.060541s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_missing_steps [0.103958s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.015909s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.065712s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.063797s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.026664s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.025757s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_start_console [0.058251s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.025093s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overriden_default_value [0.018424s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.118636s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.297769s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.067275s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.009581s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.010653s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.011927s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.011100s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.013166s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.057647s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.029931s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.041110s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.108735s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.163914s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.027289s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.011938s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.040868s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.011482s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.026743s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.013088s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.011533s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.038545s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.021820s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.011469s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.012202s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.093408s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.021812s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.012061s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.043283s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.011753s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.022333s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.012830s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.012491s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.031942s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.029833s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.019758s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered [0.082647s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.030064s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.031505s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.015990s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert OSError('Test Error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.031607s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.034913s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.030889s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.032127s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.092006s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.031501s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.035922s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.110992s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.032121s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.034646s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.082035s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.034464s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.110170s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.034633s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.094912s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.070394s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonsupported_image [0.101666s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_kernel [0.075517s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.253836s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.024784s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.072465s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.022814s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.069152s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection [0.012327s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.011378s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_cold [0.051530s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.011317s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.109708s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.010828s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.010680s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy [0.085204s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_fail [0.076957s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.100058s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.066988s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.026034s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_proxies [0.112910s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.172039s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.073646s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_did_start [0.067183s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.093912s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_ok [0.031385s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_other_commands [0.053048s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.022133s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_fail [0.077504s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.103356s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.181477s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.019700s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.072374s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.019607s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.027223s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_persistent [0.093081s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.022973s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.016095s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.082444s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.014606s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.016514s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.080645s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.020785s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.017697s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.185193s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.018443s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.012474s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.016947s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_fail [0.085458s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.016190s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.068157s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.022832s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.019184s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.024492s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_power_validate [0.070280s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.019510s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.024236s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.219610s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.020450s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.038572s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_inspector_not_imported [0.015437s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_timeout_ok [0.063333s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.023347s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.043215s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.016781s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.017212s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.022842s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.019791s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.028226s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_fail [0.076783s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.018740s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.137153s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.016449s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.032662s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.024571s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.028136s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.019938s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_fail [0.084122s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.029130s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.019165s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.022686s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled [0.020548s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_ok [0.081649s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail [0.078589s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled_disabled [0.030535s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_error [0.170817s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_enabled [0.021321s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_ok [0.015731s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.017306s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_ok [0.081438s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail_nodir [0.078253s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.018993s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.016173s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.016784s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_missing_port [0.057568s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.079281s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.032758s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.027687s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_localboot [0.167492s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.082239s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.031521s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.026583s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.025267s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.081175s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.106900s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.076784s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.073417s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.080080s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.027797s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.072345s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.294695s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_empty_password [0.111434s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.082914s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.056340s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_invalid_port [0.056226s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.053923s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning [0.109450s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.051969s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.071727s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.075896s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_console [0.074109s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.079199s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.220307s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.074940s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.108638s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.069519s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.100544s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.071739s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.122387s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.058677s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.074041s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot_uefi [0.118514s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.063110s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.063295s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_old_command [0.069485s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.050245s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.082555s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false [0.112694s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.109537s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.078350s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.087781s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console [0.082207s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_doesnt_complete [0.117132s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.141108s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.082159s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.056496s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.078624s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.122563s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.067542s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.010248s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.009004s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.019050s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.011066s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [0.047477s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.017218s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.218897s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.098087s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.013619s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.020877s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.035973s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.016383s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.022864s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.011385s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.104164s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.045425s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.010099s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.087700s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.023608s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.024856s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.020750s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.045893s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.022638s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.021284s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.068121s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.018002s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.050342s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.044908s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.030038s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.055241s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.037770s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.007646s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.011466s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.006613s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.036830s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.020371s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.017442s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.098673s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.027359s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.025670s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.022592s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.021762s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.073975s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_version_mismatch [0.048941s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.020801s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.018107s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities [0.059156s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_is_force_persistent_boot_device_enabled [0.071936s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.050498s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities_none [0.067563s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.064626s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.070149s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.055829s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.036033s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.010144s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.009535s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_iscsi [0.074168s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.013810s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.009631s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.299818s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.050427s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.009479s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.008581s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.015781s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.015423s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state_exception [0.045938s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.016198s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.096942s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_ok [0.051618s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.126069s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.058265s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_non_retryable_failure [0.035322s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.017591s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_off [0.048939s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retries_exceeded [0.026594s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.022326s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.095547s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_on [0.048031s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.068414s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.026606s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.022133s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_fail [0.047458s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.026035s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.067320s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.022683s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_ok [0.050054s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.023940s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.132636s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.022507s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_ok [0.057119s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.035740s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_timeout_ok [0.049236s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.034906s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_fail [0.054085s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.052151s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.139663s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_failed [0.020445s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.047254s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.062686s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.057114s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_vendor_routes [0.041814s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_fail [0.055160s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe [0.084611s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_netboot [0.121589s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_ok [0.081300s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.418634s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.012128s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.012299s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue [0.106727s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.060199s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.027022s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.020930s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state [0.081389s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.053452s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_properties [0.022399s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.031563s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue_swift [0.102777s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.031634s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.017942s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.014882s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.082329s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.015434s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.109853s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.015815s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.008586s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_rescue_timeout [0.079912s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_supported_boot_devices [0.056231s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.051588s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.055317s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe [0.057344s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_bad_device [0.046375s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.085528s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_without_is_whole_disk_image [0.065991s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.053971s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info [0.019307s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.097966s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_rescue [0.022769s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.014737s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi [0.059073s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.012392s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.012311s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.060331s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.012019s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.101579s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.013208s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.012141s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_ok [0.063498s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.012532s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.057108s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.018630s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.022255s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.016686s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.013246s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_fail [0.061275s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.085921s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.019596s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.017610s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.022840s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.055661s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.048732s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot [0.056322s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.020485s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.025255s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_ok [0.048794s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.023086s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id_extra [0.087947s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.030076s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.025067s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.059427s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.019193s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.013808s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.012121s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.011315s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.016599s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.009978s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.153525s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.011553s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.010537s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.008152s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.017878s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.057800s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.012410s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.016266s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.012157s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.016657s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.010613s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.011114s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.011079s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.010285s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.046446s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.034059s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.016993s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.047962s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_disabled [0.013977s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.035167s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.043389s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_error [0.019205s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.020762s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.014754s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.045794s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.012135s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.017014s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.007100s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.012442s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.007920s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.045893s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot [0.087921s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd_without_user [0.051043s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.050947s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.062680s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.100374s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.051424s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.056054s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.119885s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.047721s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.010011s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.012376s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.105386s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.010085s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.010227s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.010868s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.077631s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.010194s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.009866s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_security [0.010786s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.106395s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.084565s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_fail_logout [0.059762s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.130050s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.085733s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_ok_logout [0.061473s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.064637s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_logout [0.038043s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.069605s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.125611s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info [0.033835s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipa_debug_rescue [0.073756s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.061429s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_username [0.034716s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_sensors_data [0.016902s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.077268s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_ipxe_timeout [0.049833s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_supported_boot_devices [0.048979s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.096250s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_exceed_iterations [0.031953s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.093977s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.123163s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_down [0.066551s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.079593s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.028679s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_local_boot [0.073211s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert XClarityError('E',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel [0.032423s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.063636s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_up [0.074599s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.017365s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_localboot [0.067316s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.052146s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.076189s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.068950s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.039547s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_whole_disk_image [0.036018s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.062021s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.084502s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.060485s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options [0.052376s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.060752s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.050546s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_additional_volume_type [0.053080s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_deploy [0.018405s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.052282s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.084574s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.020146s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.050944s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.007180s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.019284s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.006788s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.010832s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console_fail [0.055448s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.008176s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1 [0.025745s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.015590s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.085607s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.009527s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.025548s] ... ok {0} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_boot_deploy [0.009879s] ... ok {0} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_mandatory_interfaces [0.008138s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.022046s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.059526s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.018387s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.020239s] ... ok {0} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_default_interfaces [0.049282s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.050860s] ... ok {0} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test___init___try_import_dracclient_failure [0.011142s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.016251s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.091117s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.012571s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.012181s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.036514s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.012619s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.051153s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.013943s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_boot_interface [0.014368s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.016068s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retry [0.042807s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_console_interface [0.016872s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.019748s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_driver_interfaces [0.012232s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.027635s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_boot_device [0.013436s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.020254s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.104963s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_properties [0.018702s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.021049s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.039724s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.020468s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver [0.004405s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.021483s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_socat_driver [0.002977s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.045017s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.020260s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_tftp_images_master_path [0.025972s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.017829s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.058010s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_deploy_ramdisk [0.027415s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.020810s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.079270s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___try_import_exception [0.001562s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.025012s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.027665s] ... ok {0} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver_exc [0.002283s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.047594s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.025290s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.023762s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info [0.037078s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.023132s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.022956s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.020285s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert OSError('Test 2 Error',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_iscsi [0.078574s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_without_is_whole_disk_image [0.044446s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.026997s] ... ok {0} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver [0.003314s] ... ok {0} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver [0.003388s] ... ok {0} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver_import_error [0.003130s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.022966s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_ramdisk [0.018279s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.014377s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.031498s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_rescue_ramdisk [0.019362s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.022211s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.035832s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.049048s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.017041s] ... ok {0} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.083206s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.035213s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.028521s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.016231s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.019532s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.024884s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.030264s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.068104s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.016016s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.025441s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.026305s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.020966s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.054037s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.030171s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.010015s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.011054s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.062506s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.093772s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_ok [0.064652s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm [0.068466s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.084725s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_address [0.041638s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.078362s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device [0.081149s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.068561s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.110909s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_properties [0.023807s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.231179s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.020579s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.019207s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.015999s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.070538s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.012748s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device_fail [0.073824s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.012560s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.086296s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.013084s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.012547s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.029064s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_already_target_state [0.046433s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.060926s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.023224s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.027636s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.024887s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot [0.071700s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_valid_methods [0.078654s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_force_boot_device_persistent [0.076507s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.020678s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.016319s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.019225s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.023006s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.018992s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.020515s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot__wait_state_change_fail [0.070884s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.019386s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.022206s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.017938s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.012101s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.006489s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.006905s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.007255s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_force_set_boot_device_ok [0.116632s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.013408s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_and_wait_for_state_change_fail [0.065835s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.057235s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.022042s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.016752s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.020911s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device [0.067199s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state [0.068917s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.057990s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.019570s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.013907s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.011942s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.044679s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_persistent [0.056160s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.013785s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert UcsOperationError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.009844s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_fail [0.057008s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.010705s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.009601s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.010385s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.017885s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.009542s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.007525s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.009549s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.008225s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.007097s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.010157s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_invalid_state [0.051110s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.007118s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.009493s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.006777s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.007256s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.006804s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_fail [0.092275s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.006545s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.006538s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_service_profile [0.037414s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.006799s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.008171s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_timeout [0.056366s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.007067s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.006567s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.010726s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.007365s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert UcsOperationError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.007134s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device_fail [0.055751s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.006521s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.050585s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.008051s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_ok [0.083387s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.009137s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.020532s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.008370s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.007643s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.007379s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.011003s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.013929s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_timeout [0.073271s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.013560s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.012763s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.100411s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.015176s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate_fail [0.058239s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.018021s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.018913s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_check_node_managed_by_xclarity [0.023849s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.019331s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.020708s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.015680s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_good [0.089331s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.062310s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.048765s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.019126s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_already_off [0.061412s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.016437s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.015877s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.063428s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.006788s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.281573s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.019255s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.006613s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_ok [0.055445s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.007829s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.006424s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.014621s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.013795s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.015556s] ... ok {3} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_hardware_type [0.008087s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.011239s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert XClarityError('E',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.053775s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.014718s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_returns [0.059846s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.014881s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.012531s] ... ok {3} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_default_interfaces [0.048982s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.051372s] ... ok {3} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_inspector_driver [0.011676s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.016171s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.007450s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.007340s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.008131s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_invalid_state [0.063267s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.007448s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.012856s] ... ok {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_agent [0.052100s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.007395s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.007773s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_fail [0.013555s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.009421s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.009494s] ... ok {2} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.009947s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_ok [0.072046s] ... ok {2} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_for_all_in_tree_drivers [0.008966s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.060537s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.015895s] ... ok {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.054956s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_ok [0.069854s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.052325s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_agent_driver [0.002427s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_driver [0.001316s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_driver [0.001175s] ... ok {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.068840s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_inspect_interface [0.012333s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot_timeout [0.079931s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_supported_boot_devices [0.017375s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.056088s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_mounted_ok [0.002523s] ... ok {3} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver [0.002050s] ... ok {3} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver_exc [0.001229s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_good [0.012947s] ... ok {3} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_with_inspector_interface_enabled [0.047785s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.068133s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver_exc [0.002205s] ... ok {3} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_direct [0.051489s] ... ok {3} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver [0.001816s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.014010s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.009225s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.058884s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.012404s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.193294s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.054357s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.065937s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_driver_routes [0.043949s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_bad_method [0.053796s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.067589s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_mounted_ok [0.004322s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.012006s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_not_mounted_exception [0.008097s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_not_mounted_exception [0.003063s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___try_import_exception [0.001957s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.055457s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver [0.004370s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver_import_error [0.002356s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.017029s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver_import_error [0.002966s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.012554s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.012138s] ... ok {3} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.008700s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.007446s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.008072s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.062349s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.008820s] ... ok {2} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.056878s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.008509s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.011232s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.028506s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.010768s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.011330s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.016875s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.076122s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.015933s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.014226s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.012795s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.086111s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.075492s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.067171s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.059550s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.046794s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.023833s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.018676s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.014188s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.019820s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.024648s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.011092s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.010955s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.007421s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.025326s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.006139s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.006573s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.028926s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.019095s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.006991s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.006255s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_get_properties [0.020187s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.009252s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.009975s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version_subset_of_fields [0.010054s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.006625s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.006873s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.019752s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.007195s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.008785s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.122640s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.011076s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.026520s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.014695s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.013618s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.009532s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.012815s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.006270s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.007111s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.006817s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.016200s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.008326s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.019262s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.019123s] ... ok {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.011163s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.012141s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.010836s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.011132s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.016052s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.012617s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.122330s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.017321s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.011894s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.017715s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.013026s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.013594s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.009182s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.016726s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.013954s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.019558s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.010739s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.019899s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.013504s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.015943s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.016638s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.011940s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.015905s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.122715s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.014719s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.013683s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.009103s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.011245s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.014273s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.012242s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.011781s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.041983s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.009650s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.011228s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.011828s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.011908s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.011352s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.013374s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.009283s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.009288s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.008239s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.075888s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.007604s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.009070s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.009014s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.008237s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.013110s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.009819s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.065406s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.010922s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.010290s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.008905s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.008933s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.008787s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.081480s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.058792s] ... ok {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.104199s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.040390s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.037629s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.037550s] ... ok {2} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.113941s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.015438s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.014495s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.039775s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.012938s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.014599s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.014459s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.048492s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.040040s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.039039s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.013946s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.012114s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.013014s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.040340s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.015191s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.023694s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.041309s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.019296s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.012727s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.023858s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot [0.059113s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_ipa_debug [0.060385s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_local_boot [0.066995s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_partition [0.054679s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_wdi [0.050280s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_ipa_debug [0.053187s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.044040s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_rescue [0.055507s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel_ipxe [0.019850s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_volume_type [0.045448s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_kernel [0.020303s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_rescue_kernel [0.016525s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.018506s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.024010s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.016500s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.017116s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.017874s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.015294s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.010983s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.011676s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.012422s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.012216s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.012042s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.011574s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.011061s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.010718s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.012505s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.010612s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.009950s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.014666s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.011150s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.012152s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.013122s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.011769s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.011872s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.014866s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.015655s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.011229s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.015813s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.045398s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.044774s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.049580s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.051491s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.047046s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.010167s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.011111s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.010549s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.010362s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.011026s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.009932s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.009262s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.010117s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert UcsConnectionError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm_fail [0.050257s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_password [0.034394s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device [0.056519s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_error [0.043512s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert UcsOperationError() to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_fail [0.041644s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_properties [0.035476s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_fail [0.053156s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate [0.036033s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.049527s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.207898s] ... ok /usr/lib/python2.7/dist-packages/oslo_serialization/jsonutils.py:188: UserWarning: Cannot convert XClarityError('E',) to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.053200s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.060868s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.008555s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.007667s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.007696s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.007898s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.008254s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables_immutable [0.007730s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBaseDriver.test_class_variables_immutable [0.006709s] ... ok {1} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_existing_interfaces [0.013928s] ... ok {1} ironic.tests.unit.drivers.test_base.TestToHardwareType.test_to_hardware_type_returns_existing_interfaces_inspector [0.008742s] ... ok {1} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_override_with_cimc_interfaces [0.069152s] ... ok {1} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_override_with_ipmi_interfaces [0.047928s] ... ok {1} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_driver [0.011909s] ... ok {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.049413s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_deploy_interface [0.019154s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_get_properties [0.014208s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_validate [0.012036s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_power_interface [0.015009s] ... ok {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.045639s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.050677s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_iscsi_driver_exc [0.001441s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_socat_driver [0.001516s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.048521s] ... ok {1} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver [0.001927s] ... ok {1} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_interfaces [0.048691s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver_import_error [0.001349s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver_import_error [0.001215s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver [0.002031s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.011482s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.011134s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.019253s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.019206s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.018301s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.061847s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.018422s] ... ok {1} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.051866s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.012048s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.013760s] ... ok {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.006683s] ... ok {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.006332s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.005873s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.006292s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.005782s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.010192s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.011118s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.012209s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.009879s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.012492s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.011195s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.012886s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.015515s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.014098s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.019315s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.014912s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.014338s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.006479s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version [0.007070s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.006557s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.006386s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.005906s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.007184s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.005711s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.005587s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.006825s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.006077s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.006347s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.008139s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.007202s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.006576s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.006324s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.007071s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.008007s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.008579s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.011834s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.011954s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.009621s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.010816s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.012114s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.012634s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.012068s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.013046s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.009684s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.011300s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.012407s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.012067s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.011954s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.010969s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.011997s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.015383s] ... ok ====== Totals ====== Ran: 4838 tests in 98.0000 sec. - Passed: 4826 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 356.5213 sec. ============== Worker Balance ============== - Worker 0 (1210 tests) => 0:01:27.873925 - Worker 1 (1210 tests) => 0:01:33.095587 - Worker 2 (1209 tests) => 0:01:30.016795 - Worker 3 (1209 tests) => 0:01:29.220907 Slowest Tests: Test id Runtime (s) --------------------------------------------------------------------------------------------------------------- ----------- ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state 3.279 ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states 3.007 ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces 0.889 ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance 0.863 ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit 0.788 ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state 0.668 ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_active_node 0.646 ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_active_node 0.631 ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource 0.629 ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit 0.593 make[1]: Leaving directory '/<>' create-stamp debian/debhelper-build-stamp 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: 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 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 creating /<>/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/base_manager.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/task_manager.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/conductor/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor creating /<>/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/rpc_service.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/utils.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/hash_ring.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/swift.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 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/states.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/service_utils.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 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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service 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/grub_conf.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common 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/raid.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/profiler.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/fsm.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/context.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/image_service.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/config.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/network.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/pxe_utils.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 creating /<>/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/utils.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/hardware_type.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 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/xclarity.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/ilo.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/ipmi.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/fake_hardware.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 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules 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/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/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/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/__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/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/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/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/xclarity copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/xclarity/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/boot.ipxe -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules 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/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/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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage 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/power.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/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/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/__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/pxe_grub_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/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/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/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/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/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/__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/master_grub_cfg.txt -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules 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/noop.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/image_cache.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/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/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/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/__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/agent.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/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/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/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/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/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/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/__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/pxe_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 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/inventory -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/clean.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ansible/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible 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/neutron.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/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/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/__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/fake.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules 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/snmp.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 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/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/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/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/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/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/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/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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo 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/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/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/__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/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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules 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/fake.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/cisco_ucs.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 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 creating /<>/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/sqlalchemy/migration.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 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 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/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/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/e918ff30eb42_resize_column_nodes_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/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/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/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/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/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/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/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/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/405cfe08f18d_add_rescue_interface_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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/b4130a7fc904_create_nodetraits_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/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/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/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/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/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/api.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 copying build/lib.linux-x86_64-2.7/ironic/db/api.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 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/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.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES creating /<>/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 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_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/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/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_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/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__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_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/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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor 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_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_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_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_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_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_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_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_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/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_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_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_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_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_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_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_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/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_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_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_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_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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common 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/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_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/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/ipxe_config_boot_from_volume.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/elilo_efi_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/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/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/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_xclarity.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_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_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/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/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/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/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/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_fake.py -> /<>/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_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/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/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/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_agent.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_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/xclarity copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/xclarity/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity 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 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/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/storage/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage 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_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_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 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/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/__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/test_agent_client.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_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_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/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.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/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/test_snmp.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_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_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_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/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/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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish 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_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/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_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_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_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_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_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/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/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/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/test_inspector.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/ansible copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ansible copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ansible/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ansible 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/test_noop.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_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/__init__.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/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_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/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_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/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_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_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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo 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/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/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/__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/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/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/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_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/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/__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/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/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_node_traits.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_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_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/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/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/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_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/__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/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_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/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_connectors.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_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_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/__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/raid_constants.py -> /<>/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/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 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 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/test_dbsync.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/__init__.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/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/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/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/test_acl.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 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/test_base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_root.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_types.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_expose.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_versions.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_volume.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_portgroup.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_driver.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_port.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/controllers/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers 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/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_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/__init__.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/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 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 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_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/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/utils.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_trait.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_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/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_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_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_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/__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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit 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/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 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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp creating /<>/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 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 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/wsgi.py -> /<>/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/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/json_ext.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/middleware/__init__.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/app.wsgi -> /<>/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/base.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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/__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/link.py -> /<>/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/expose.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/config.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 creating /<>/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/auth.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/opts.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/metrics.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/database.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/audit.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/xclarity.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/ilo.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/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/drac.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/cisco.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/inspector.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/console.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 copying build/lib.linux-x86_64-2.7/ironic/conf/ansible.py -> /<>/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/oneview.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/snmp.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/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/service_catalog.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf creating /<>/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/volume_connector.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/port.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/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 copying build/lib.linux-x86_64-2.7/ironic/objects/trait.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/conductor.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/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic running install_data creating /<>/debian/tmp/usr/etc creating /<>/debian/tmp/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /<>/debian/tmp/usr/etc/ironic creating /<>/debian/tmp/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> /<>/debian/tmp/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-lib.filters -> /<>/debian/tmp/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-images.filters -> /<>/debian/tmp/usr/etc/ironic/rootwrap.d/ running install_egg_info Copying ironic.egg-info to /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-api-wsgi script to /<>/debian/tmp/usr/bin 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: warning: ignoring old recipe for target 'get-orig-source' PYTHONPATH=/<> oslo-config-generator --config-file=tools/config/ironic-config-generator.conf cp etc/ironic/ironic.conf.sample etc/ironic/ironic.conf crudini --set /<>/etc/ironic/ironic.conf DEFAULT log_dir /var/log/ironic crudini --set /<>/etc/ironic/ironic.conf database connection sqlite:////var/lib/ironic/ironic.db dh_install --fail-missing dh_install: Please use dh_missing --list-missing/--fail-missing instead dh_install: This feature will be removed in compat 12. 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: 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 '/<>' 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: 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 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 '/<>' dh_python2 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: 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 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_installinit --error-handler=true make[1]: Leaving directory '/<>' dh_systemd_start dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing 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:23: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:65: 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: package python-ironic: unused substitution variable ${python:Provides} dpkg-gencontrol: warning: package python-ironic: unused substitution variable ${python:Versions} make[1]: Leaving directory '/<>' dh_md5sums dh_builddeb INFO: pkgstriptranslations version 135 INFO: pkgstriptranslations version 135 INFO: pkgstriptranslations version 135 INFO: pkgstriptranslations version 135 pkgstriptranslations: processing ironic-api (in debian/ironic-api); do_strip: , oemstrip: pkgstriptranslations: processing python-ironic (in debian/python-ironic); do_strip: , oemstrip: pkgstriptranslations: processing ironic-conductor (in debian/ironic-conductor); do_strip: , oemstrip: pkgstriptranslations: processing ironic-common (in debian/ironic-common); do_strip: , oemstrip: pkgmaintainermangler: Not overriding Maintainer for domain ubuntu.com pkgmaintainermangler: Not overriding Maintainer for domain ubuntu.com pkgmaintainermangler: Not overriding Maintainer for domain ubuntu.com pkgmaintainermangler: Not overriding Maintainer for domain ubuntu.com pkgstripfiles: processing control file: debian/ironic-api/DEBIAN/control, package ironic-api, directory debian/ironic-api Searching for duplicated docs in dependency ironic-common... symlinking changelog.Debian.gz in ironic-api to file in ironic-common pkgstripfiles: Running PNG optimization (using 4 cpus) for package ironic-api ... pkgstripfiles: No PNG files. pkgstripfiles: processing control file: debian/ironic-common/DEBIAN/control, package ironic-common, directory debian/ironic-common dpkg-deb: building package 'ironic-api' in '../ironic-api_10.1.1-0ubuntu2_all.deb'. pkgstripfiles: processing control file: debian/python-ironic/DEBIAN/control, package python-ironic, directory debian/python-ironic INFO: pkgstripfiles: waiting for lock (python-ironic) ... Searching for duplicated docs in dependency python-ironic... pkgstripfiles: processing control file: debian/ironic-conductor/DEBIAN/control, package ironic-conductor, directory debian/ironic-conductor symlinking changelog.Debian.gz in ironic-common to file in python-ironic INFO: pkgstripfiles: waiting for lock (ironic-conductor) ... pkgstripfiles: Running PNG optimization (using 4 cpus) for package ironic-common ... pkgstripfiles: No PNG files. dpkg-deb: building package 'ironic-common' in '../ironic-common_10.1.1-0ubuntu2_all.deb'. INFO: pkgstripfiles: waiting for lock (python-ironic) ... Searching for duplicated docs in dependency ironic-common... symlinking changelog.Debian.gz in ironic-conductor to file in python-ironic pkgstripfiles: Running PNG optimization (using 4 cpus) for package ironic-conductor ... pkgstripfiles: No PNG files. dpkg-deb: building package 'ironic-conductor' in '../ironic-conductor_10.1.1-0ubuntu2_all.deb'. pkgstripfiles: Truncating usr/share/doc/python-ironic/changelog.Debian.gz to topmost ten records pkgstripfiles: Running PNG optimization (using 4 cpus) for package python-ironic ... pkgstripfiles: No PNG files. dpkg-deb: building package 'python-ironic' in '../python-ironic_10.1.1-0ubuntu2_all.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary -mLaunchpad Build Daemon >../ironic_10.1.1-0ubuntu2_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build ironic-10.1.1 dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 20180312-2059 Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Post Build Chroot | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ ironic_10.1.1-0ubuntu2_amd64.changes: ------------------------------------- Format: 1.8 Date: Mon, 12 Mar 2018 16:36:42 -0400 Source: ironic Binary: ironic-api ironic-common ironic-conductor python-ironic Architecture: all Version: 1:10.1.1-0ubuntu2 Distribution: bionic-proposed Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Corey Bryant 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:10.1.1-0ubuntu2) bionic; urgency=medium . * d/control: Drop min version of python-sphinxcontrib.seqdiag to enable backport to queens cloud-archive. Checksums-Sha1: afc952ac9290ec73bdd70bc856676fcd1f0fe1e4 6876 ironic-api_10.1.1-0ubuntu2_all.deb d04316ab92bd643f260b8aeb296be2101d62bbed 31616 ironic-common_10.1.1-0ubuntu2_all.deb b4dcbc995da65cd6c016047e68e4b2a2eeb26616 4564 ironic-conductor_10.1.1-0ubuntu2_all.deb 83350282ea208a739a1a5483e56b2619eca6fe47 17681 ironic_10.1.1-0ubuntu2_amd64.buildinfo 126331398bc6f75a424285aabe12288522b58d50 630556 python-ironic_10.1.1-0ubuntu2_all.deb Checksums-Sha256: 2da0a1c5e67bd8eda533e43f0e13000e487c2c355b78b6c1fcbf5f76dda47dee 6876 ironic-api_10.1.1-0ubuntu2_all.deb 3d53c51dd048a56ab6bd0396ba648cf44c7c17dc7351a2617a3b7f96c20ff0c7 31616 ironic-common_10.1.1-0ubuntu2_all.deb 5ad303f9bc589efe128caaaa5f4f2b363a973c44509d2f4b166660bd5f1d4c13 4564 ironic-conductor_10.1.1-0ubuntu2_all.deb 82677ab11369c13f8e7abb709ddf426d8dbf2b4f393deca49ecfa606de4c19fd 17681 ironic_10.1.1-0ubuntu2_amd64.buildinfo a286c0187cc020aa388d86cb3001d9c26a559bd6857fd0b514c9961ba84e890a 630556 python-ironic_10.1.1-0ubuntu2_all.deb Files: 6e00fc7169af15742fc8619f9e564c39 6876 net extra ironic-api_10.1.1-0ubuntu2_all.deb d778fc55076720590a9a8d16580ce6d0 31616 net extra ironic-common_10.1.1-0ubuntu2_all.deb 3c2c4cd3132a19fc8b75ec74e07ff7be 4564 net extra ironic-conductor_10.1.1-0ubuntu2_all.deb 85353ed2188a3cd72a4ccb7ae215c338 17681 net extra ironic_10.1.1-0ubuntu2_amd64.buildinfo 5d26b806a39ac5991caface086b660d5 630556 net extra python-ironic_10.1.1-0ubuntu2_all.deb +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ ironic-api_10.1.1-0ubuntu2_all.deb ---------------------------------- new debian package, version 2.0. size 6876 bytes: control archive=1680 bytes. 23 bytes, 1 lines conffiles 794 bytes, 20 lines control 479 bytes, 7 lines md5sums 1325 bytes, 32 lines * postinst #!/bin/sh 834 bytes, 28 lines * postrm #!/bin/sh 207 bytes, 7 lines * prerm #!/bin/sh Package: ironic-api Source: ironic Version: 1:10.1.1-0ubuntu2 Architecture: all Maintainer: Chuck Short Installed-Size: 36 Depends: ironic-common (= 1:10.1.1-0ubuntu2), 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 2018-03-12 20:36 ./ drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/init.d/ -rwxr-xr-x root/root 3983 2018-03-12 20:36 ./etc/init.d/ironic-api drwxr-xr-x root/root 0 2018-03-12 20:36 ./lib/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./lib/systemd/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./lib/systemd/system/ -rw-r--r-- root/root 412 2018-03-12 20:36 ./lib/systemd/system/ironic-api.service drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/bin/ -rwxr-xr-x root/root 153 2018-03-12 20:36 ./usr/bin/ironic-api -rwxr-xr-x root/root 1893 2018-03-12 20:36 ./usr/bin/ironic-api-wsgi drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/ironic-api/ -rw-r--r-- root/root 1353 2018-02-22 19:51 ./usr/share/doc/ironic-api/README.rst lrwxrwxrwx root/root 0 2018-03-12 20:36 ./usr/share/doc/ironic-api/changelog.Debian.gz -> ../ironic-common/changelog.Debian.gz -rw-r--r-- root/root 1667 2018-03-12 20:36 ./usr/share/doc/ironic-api/copyright -rw-r--r-- root/root 1746 2018-02-22 19:51 ./usr/share/doc/ironic-api/requirements.txt -rw-r--r-- root/root 915 2018-02-22 19:51 ./usr/share/doc/ironic-api/test-requirements.txt ironic-common_10.1.1-0ubuntu2_all.deb ------------------------------------- new debian package, version 2.0. size 31616 bytes: control archive=1168 bytes. 211 bytes, 6 lines conffiles 828 bytes, 20 lines control 186 bytes, 3 lines md5sums 554 bytes, 22 lines * postinst #!/bin/sh Package: ironic-common Source: ironic Version: 1:10.1.1-0ubuntu2 Architecture: all Maintainer: Chuck Short Installed-Size: 174 Depends: adduser, psmisc, python-ironic (= 1:10.1.1-0ubuntu2), 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 2018-03-12 20:36 ./ drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/ironic/ -rw-r--r-- root/root 145704 2018-03-12 20:36 ./etc/ironic/ironic.conf -rw-r--r-- root/root 936 2018-02-22 19:51 ./etc/ironic/rootwrap.conf drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/ironic/rootwrap.d/ -rw-r--r-- root/root 212 2018-02-22 19:51 ./etc/ironic/rootwrap.d/ironic-images.filters -rw-r--r-- root/root 992 2018-02-22 19:51 ./etc/ironic/rootwrap.d/ironic-lib.filters -rw-r--r-- root/root 312 2018-02-22 19:51 ./etc/ironic/rootwrap.d/ironic-utils.filters drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/sudoers.d/ -r--r----- root/root 112 2018-03-12 20:36 ./etc/sudoers.d/ironic_sudoers drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/bin/ -rwxr-xr-x root/root 156 2018-03-12 20:36 ./usr/bin/ironic-dbsync -rwxr-xr-x root/root 156 2018-03-12 20:36 ./usr/bin/ironic-rootwrap drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/ironic-common/ lrwxrwxrwx root/root 0 2018-03-12 20:36 ./usr/share/doc/ironic-common/changelog.Debian.gz -> ../python-ironic/changelog.Debian.gz -rw-r--r-- root/root 1667 2018-03-12 20:36 ./usr/share/doc/ironic-common/copyright drwxr-xr-x root/root 0 2018-03-12 20:36 ./var/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./var/lib/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./var/lib/ironic/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./var/log/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./var/log/ironic/ ironic-conductor_10.1.1-0ubuntu2_all.deb ---------------------------------------- new debian package, version 2.0. size 4564 bytes: control archive=1568 bytes. 29 bytes, 1 lines conffiles 834 bytes, 20 lines control 212 bytes, 3 lines md5sums 1367 bytes, 32 lines * postinst #!/bin/sh 858 bytes, 28 lines * postrm #!/bin/sh 219 bytes, 7 lines * prerm #!/bin/sh Package: ironic-conductor Source: ironic Version: 1:10.1.1-0ubuntu2 Architecture: all Maintainer: Chuck Short Installed-Size: 29 Depends: ipmitool (>= 1.8.12), ironic-common (= 1:10.1.1-0ubuntu2), 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 2018-03-12 20:36 ./ drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./etc/init.d/ -rwxr-xr-x root/root 3999 2018-03-12 20:36 ./etc/init.d/ironic-conductor drwxr-xr-x root/root 0 2018-03-12 20:36 ./lib/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./lib/systemd/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./lib/systemd/system/ -rw-r--r-- root/root 416 2018-03-12 20:36 ./lib/systemd/system/ironic-conductor.service drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/bin/ -rwxr-xr-x root/root 159 2018-03-12 20:36 ./usr/bin/ironic-conductor drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/ironic-conductor/ lrwxrwxrwx root/root 0 2018-03-12 20:36 ./usr/share/doc/ironic-conductor/changelog.Debian.gz -> ../python-ironic/changelog.Debian.gz -rw-r--r-- root/root 1667 2018-03-12 20:36 ./usr/share/doc/ironic-conductor/copyright python-ironic_10.1.1-0ubuntu2_all.deb ------------------------------------- new debian package, version 2.0. size 630556 bytes: control archive=13724 bytes. 2266 bytes, 20 lines control 56499 bytes, 517 lines md5sums 163 bytes, 9 lines * postinst #!/bin/sh 265 bytes, 14 lines * prerm #!/bin/sh Package: python-ironic Source: ironic Version: 1:10.1.1-0ubuntu2 Architecture: all Maintainer: Chuck Short Installed-Size: 6348 Depends: alembic (>= 0.8.10), python-alembic (>= 0.8.10), python-automaton (>= 1.9.0), python-cinderclient (>= 1:3.3.0), python-eventlet (>= 0.18.2), python-futurist (>= 1.2.0), python-glanceclient (>= 1:2.8.0), python-ironic-lib (>= 2.5.0), python-jinja2 (>= 2.8), python-jsonpatch (>= 1.16), python-jsonschema (>= 2.6.0), python-keystoneauth1 (>= 3.3.0), python-keystonemiddleware (>= 4.17.0), python-neutronclient (>= 1:6.3.0), python-os-traits (>= 0.4.0), python-oslo.concurrency (>= 3.25.0), python-oslo.config (>= 1:5.1.0), python-oslo.context (>= 1:2.19.2), python-oslo.db (>= 4.27.0), python-oslo.i18n (>= 3.15.3), python-oslo.log (>= 3.36.0), python-oslo.messaging (>= 5.29.0), python-oslo.middleware (>= 3.31.0), python-oslo.policy (>= 1.30.0), python-oslo.reports (>= 1.18.0), python-oslo.rootwrap (>= 5.8.0), python-oslo.serialization (>= 2.18.0), python-oslo.service (>= 1.24.0), python-oslo.utils (>= 3.33.0), python-oslo.versionedobjects (>= 1.31.2), python-osprofiler (>= 1.4.0), python-paramiko (>= 2.0), python-pbr (>= 2.0.0), python-pecan (>= 1.0.0), python-psutil (>= 3.2.2), python-pymysql (>= 0.6.2), python-requests (>= 2.14.2), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.10.0), python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1:1.20.0), python-swiftclient (>= 1:3.2.0), python-tooz (>= 1.58.0), python-tz (>= 2013.6), python-webob (>= 1:1.7.1), python-wsme (>= 0.8.0), 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 2018-03-12 20:36 ./ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/ -rw-r--r-- root/root 2459 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/PKG-INFO -rw-r--r-- root/root 1 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/dependency_links.txt -rw-r--r-- root/root 7075 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/entry_points.txt -rw-r--r-- root/root 1 2018-02-22 19:53 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/not-zip-safe -rw-r--r-- root/root 46 2018-02-22 19:54 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/pbr.json -rw-r--r-- root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/requires.txt -rw-r--r-- root/root 7 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic-10.1.1.egg-info/top_level.txt drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/__init__.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/api/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/__init__.py -rw-r--r-- root/root 4395 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/app.py -rw-r--r-- root/root 763 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/app.wsgi -rw-r--r-- root/root 1352 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/config.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/__init__.py -rw-r--r-- root/root 3790 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/base.py -rw-r--r-- root/root 2030 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/link.py -rw-r--r-- root/root 3806 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/root.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/ -rw-r--r-- root/root 9392 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/__init__.py -rw-r--r-- root/root 14089 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/chassis.py -rw-r--r-- root/root 1718 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/collection.py -rw-r--r-- root/root 18363 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/driver.py -rw-r--r-- root/root 87419 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/node.py -rw-r--r-- root/root 7093 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/notification_utils.py -rw-r--r-- root/root 31842 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/port.py -rw-r--r-- root/root 24799 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/portgroup.py -rw-r--r-- root/root 7532 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/ramdisk.py -rw-r--r-- root/root 1083 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/state.py -rw-r--r-- root/root 10810 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/types.py -rw-r--r-- root/root 24845 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/utils.py -rw-r--r-- root/root 5561 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/versions.py -rw-r--r-- root/root 3524 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume.py -rw-r--r-- root/root 21285 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume_connector.py -rw-r--r-- root/root 21200 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume_target.py -rw-r--r-- root/root 897 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/expose.py -rw-r--r-- root/root 6459 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/hooks.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/ -rw-r--r-- root/root 1001 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/__init__.py -rw-r--r-- root/root 2281 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/auth_token.py -rw-r--r-- root/root 1489 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/json_ext.py -rw-r--r-- root/root 3876 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/parsable_error.py -rw-r--r-- root/root 1267 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/api/wsgi.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/cmd/ -rw-r--r-- root/root 1076 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/cmd/__init__.py -rw-r--r-- root/root 1497 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/cmd/api.py -rw-r--r-- root/root 3134 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/cmd/conductor.py -rw-r--r-- root/root 13881 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/cmd/dbsync.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/common/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/__init__.py -rw-r--r-- root/root 1334 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/boot_devices.py -rw-r--r-- root/root 19696 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/cinder.py -rw-r--r-- root/root 1222 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/config.py -rw-r--r-- root/root 2578 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/context.py -rw-r--r-- root/root 3565 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/dhcp_factory.py -rw-r--r-- root/root 27336 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/driver_factory.py -rw-r--r-- root/root 23655 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/exception.py -rw-r--r-- root/root 6041 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/fsm.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/__init__.py -rw-r--r-- root/root 9423 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/base_image_service.py -rw-r--r-- root/root 1431 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/service.py -rw-r--r-- root/root 6499 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/service_utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/__init__.py -rw-r--r-- root/root 1072 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/image_service.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/__init__.py -rw-r--r-- root/root 11463 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/image_service.py -rw-r--r-- root/root 158 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/grub_conf.template -rw-r--r-- root/root 2290 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/hash_ring.py -rw-r--r-- root/root 900 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/i18n.py -rw-r--r-- root/root 11365 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/image_service.py -rw-r--r-- root/root 22443 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/images.py -rw-r--r-- root/root 101 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/isolinux_config.template -rw-r--r-- root/root 4500 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/keystone.py -rw-r--r-- root/root 3949 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/network.py -rw-r--r-- root/root 22873 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/neutron.py -rw-r--r-- root/root 19802 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/policy.py -rw-r--r-- root/root 2455 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/profiler.py -rw-r--r-- root/root 16419 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/pxe_utils.py -rw-r--r-- root/root 5240 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/raid.py -rw-r--r-- root/root 6738 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/release_mappings.py -rw-r--r-- root/root 5220 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/rpc.py -rw-r--r-- root/root 3240 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/rpc_service.py -rw-r--r-- root/root 1272 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/service.py -rw-r--r-- root/root 15152 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/states.py -rw-r--r-- root/root 8688 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/swift.py -rw-r--r-- root/root 18024 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/utils.py -rw-r--r-- root/root 2316 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/common/wsgi_service.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/conductor/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conductor/__init__.py -rw-r--r-- root/root 25452 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conductor/base_manager.py -rw-r--r-- root/root 164641 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conductor/manager.py -rw-r--r-- root/root 7492 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conductor/notification_utils.py -rw-r--r-- root/root 49259 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conductor/rpcapi.py -rw-r--r-- root/root 22392 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conductor/task_manager.py -rw-r--r-- root/root 29741 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conductor/utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/conf/ -rw-r--r-- root/root 2447 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/__init__.py -rw-r--r-- root/root 4491 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/agent.py -rw-r--r-- root/root 7111 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/ansible.py -rw-r--r-- root/root 3160 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/api.py -rw-r--r-- root/root 1533 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/audit.py -rw-r--r-- root/root 2845 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/auth.py -rw-r--r-- root/root 2116 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/cinder.py -rw-r--r-- root/root 1771 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/cisco.py -rw-r--r-- root/root 9219 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/conductor.py -rw-r--r-- root/root 2354 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/console.py -rw-r--r-- root/root 928 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/database.py -rw-r--r-- root/root 15533 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/default.py -rw-r--r-- root/root 4610 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/deploy.py -rw-r--r-- root/root 985 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/dhcp.py -rw-r--r-- root/root 1032 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/drac.py -rw-r--r-- root/root 8392 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/glance.py -rw-r--r-- root/root 4123 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/ilo.py -rw-r--r-- root/root 1825 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/inspector.py -rw-r--r-- root/root 2651 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/ipmi.py -rw-r--r-- root/root 3746 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/irmc.py -rw-r--r-- root/root 1028 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/iscsi.py -rw-r--r-- root/root 1301 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/keystone.py -rw-r--r-- root/root 2383 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/metrics.py -rw-r--r-- root/root 1250 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/metrics_statsd.py -rw-r--r-- root/root 6244 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/neutron.py -rw-r--r-- root/root 2110 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/oneview.py -rw-r--r-- root/root 3729 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/opts.py -rw-r--r-- root/root 6414 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/pxe.py -rw-r--r-- root/root 1178 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/redfish.py -rw-r--r-- root/root 1182 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/service_catalog.py -rw-r--r-- root/root 1804 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/snmp.py -rw-r--r-- root/root 1179 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/swift.py -rw-r--r-- root/root 1152 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/conf/xclarity.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/db/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/__init__.py -rw-r--r-- root/root 37240 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/api.py -rw-r--r-- root/root 1560 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/migration.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/__init__.py -rw-r--r-- root/root 975 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic.ini drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/ -rw-r--r-- root/root 434 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/README -rw-r--r-- root/root 1971 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/env.py -rw-r--r-- root/root 349 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/script.py.mako drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/ -rw-r--r-- root/root 1192 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -rw-r--r-- root/root 2225 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -rw-r--r-- root/root 1040 2018-02-22 19:51 ./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 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -rw-r--r-- root/root 969 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -rw-r--r-- root/root 2060 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -rw-r--r-- root/root 1022 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -rw-r--r-- root/root 4331 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -rw-r--r-- root/root 1089 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -rw-r--r-- root/root 1096 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -rw-r--r-- root/root 1020 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -rw-r--r-- root/root 1074 2018-02-22 19:51 ./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 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -rw-r--r-- root/root 1022 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -rw-r--r-- root/root 1027 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -rw-r--r-- root/root 1208 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -rw-r--r-- root/root 1440 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -rw-r--r-- root/root 1314 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -rw-r--r-- root/root 950 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -rw-r--r-- root/root 1007 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -rw-r--r-- root/root 1523 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -rw-r--r-- root/root 2485 2018-02-22 19:51 ./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 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -rw-r--r-- root/root 1084 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -rw-r--r-- root/root 2044 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -rw-r--r-- root/root 1530 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -rw-r--r-- root/root 1024 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -rw-r--r-- root/root 1929 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -rw-r--r-- root/root 1385 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -rw-r--r-- root/root 2057 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -rw-r--r-- root/root 1208 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -rw-r--r-- root/root 1009 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -rw-r--r-- root/root 988 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -rw-r--r-- root/root 1081 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -rw-r--r-- root/root 1177 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -rw-r--r-- root/root 59908 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/api.py -rw-r--r-- root/root 3680 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/migration.py -rw-r--r-- root/root 11017 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/models.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/dhcp/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/dhcp/__init__.py -rw-r--r-- root/root 3525 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/dhcp/base.py -rw-r--r-- root/root 9933 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/dhcp/neutron.py -rw-r--r-- root/root 980 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/dhcp/none.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/__init__.py -rw-r--r-- root/root 4349 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/agent.py -rw-r--r-- root/root 48757 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/base.py -rw-r--r-- root/root 1970 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/cisco_ucs.py -rw-r--r-- root/root 4381 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/drac.py -rw-r--r-- root/root 11893 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/fake.py -rw-r--r-- root/root 3103 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/fake_hardware.py -rw-r--r-- root/root 3886 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/generic.py -rw-r--r-- root/root 4131 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/hardware_type.py -rw-r--r-- root/root 5038 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/ilo.py -rw-r--r-- root/root 6344 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/ipmi.py -rw-r--r-- root/root 4929 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/irmc.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/__init__.py -rw-r--r-- root/root 36438 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent.py -rw-r--r-- root/root 31933 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_base_vendor.py -rw-r--r-- root/root 9619 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_client.py -rw-r--r-- root/root 480 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_config.template drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/__init__.py -rw-r--r-- root/root 26090 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/deploy.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/ -rw-r--r-- root/root 312 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -rw-r--r-- root/root 1631 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/ansible.cfg drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ -rw-r--r-- root/root 361 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -rw-r--r-- root/root 5374 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -rw-r--r-- root/root 83 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/clean.yaml -rw-r--r-- root/root 413 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -rw-r--r-- root/root 192 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/deploy.yaml -rw-r--r-- root/root 35 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/inventory drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library/ -rw-r--r-- root/root 2201 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -rw-r--r-- root/root 3207 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library/root_hints.py -rw-r--r-- root/root 3998 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/library/stream_url.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/ -rw-r--r-- root/root 22 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/ -rw-r--r-- root/root 90 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -rw-r--r-- root/root 177 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -rw-r--r-- root/root 933 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -rw-r--r-- root/root 604 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/ -rw-r--r-- root/root 74 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/ -rw-r--r-- root/root 2472 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -rw-r--r-- root/root 196 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -rw-r--r-- root/root 215 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/ -rwxr-xr-x root/root 4480 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/ -rw-r--r-- root/root 1598 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -rw-r--r-- root/root 487 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -rw-r--r-- root/root 172 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -rw-r--r-- root/root 575 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/ -rw-r--r-- root/root 343 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -rw-r--r-- root/root 290 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/ -rw-r--r-- root/root 99 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -rw-r--r-- root/root 1870 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/ -rw-r--r-- root/root 109 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -rw-r--r-- root/root 86 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -rw-r--r-- root/root 777 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/boot.ipxe drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/__init__.py -rw-r--r-- root/root 2709 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/common.py -rw-r--r-- root/root 6101 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/management.py -rw-r--r-- root/root 7494 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/power.py -rw-r--r-- root/root 13399 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/console_utils.py -rw-r--r-- root/root 53931 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/deploy_utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/__init__.py -rw-r--r-- root/root 6879 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/bios.py -rw-r--r-- root/root 5437 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/common.py -rw-r--r-- root/root 5745 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/inspect.py -rw-r--r-- root/root 2830 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/job.py -rw-r--r-- root/root 8856 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/management.py -rw-r--r-- root/root 7581 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/power.py -rw-r--r-- root/root 35257 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/raid.py -rw-r--r-- root/root 7523 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/vendor_passthru.py -rw-r--r-- root/root 776 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/elilo_efi_pxe_config.template -rw-r--r-- root/root 7560 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/fake.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/__init__.py -rw-r--r-- root/root 29298 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/boot.py -rw-r--r-- root/root 31611 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/common.py -rw-r--r-- root/root 1882 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/console.py -rw-r--r-- root/root 19268 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/firmware_processor.py -rw-r--r-- root/root 11840 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/inspect.py -rw-r--r-- root/root 25669 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/management.py -rw-r--r-- root/root 9416 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/power.py -rw-r--r-- root/root 4406 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/vendor.py -rw-r--r-- root/root 18015 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/image_cache.py -rw-r--r-- root/root 7873 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/inspector.py -rw-r--r-- root/root 55794 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ipmitool.py -rw-r--r-- root/root 1868 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ipxe_config.template drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/__init__.py -rw-r--r-- root/root 44927 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/boot.py -rw-r--r-- root/root 8869 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/common.py -rw-r--r-- root/root 9837 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/inspect.py -rw-r--r-- root/root 14532 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/management.py -rw-r--r-- root/root 12032 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/power.py -rw-r--r-- root/root 25274 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/iscsi_deploy.py -rw-r--r-- root/root 131 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/master_grub_cfg.txt drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/__init__.py -rw-r--r-- root/root 24856 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/common.py -rw-r--r-- root/root 5244 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/flat.py -rw-r--r-- root/root 9884 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/neutron.py -rw-r--r-- root/root 3791 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/noop.py -rw-r--r-- root/root 2308 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/noop.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/__init__.py -rw-r--r-- root/root 22785 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/common.py -rw-r--r-- root/root 12014 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/deploy.py -rw-r--r-- root/root 15538 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/deploy_utils.py -rw-r--r-- root/root 3872 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/inspect.py -rw-r--r-- root/root 12243 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/management.py -rw-r--r-- root/root 9369 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/power.py -rw-r--r-- root/root 27938 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe.py -rw-r--r-- root/root 736 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe_config.template -rw-r--r-- root/root 697 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe_grub_config.template drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/__init__.py -rw-r--r-- root/root 6782 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/management.py -rw-r--r-- root/root 6498 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/power.py -rw-r--r-- root/root 9133 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/utils.py -rw-r--r-- root/root 27050 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/snmp.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/__init__.py -rw-r--r-- root/root 20167 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/cinder.py -rw-r--r-- root/root 938 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/noop.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/__init__.py -rw-r--r-- root/root 4381 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/helper.py -rw-r--r-- root/root 5632 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/management.py -rw-r--r-- root/root 9066 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/power.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity/__init__.py -rw-r--r-- root/root 4907 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity/common.py -rw-r--r-- root/root 8959 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity/management.py -rw-r--r-- root/root 5124 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/xclarity/power.py -rw-r--r-- root/root 5348 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/oneview.py -rw-r--r-- root/root 9031 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/pxe.py -rw-r--r-- root/root 4128 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/raid_config_schema.json -rw-r--r-- root/root 1199 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/redfish.py -rw-r--r-- root/root 1121 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/snmp.py -rw-r--r-- root/root 12840 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/utils.py -rw-r--r-- root/root 1196 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/drivers/xclarity.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/locale/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ -rw-r--r-- root/root 62896 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ironic.po drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/objects/ -rw-r--r-- root/root 1516 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/__init__.py -rw-r--r-- root/root 18890 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/base.py -rw-r--r-- root/root 10359 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/chassis.py -rw-r--r-- root/root 6820 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/conductor.py -rw-r--r-- root/root 4191 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/fields.py -rw-r--r-- root/root 2078 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/indirection.py -rw-r--r-- root/root 35335 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/node.py -rw-r--r-- root/root 7703 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/notification.py -rw-r--r-- root/root 17362 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/port.py -rw-r--r-- root/root 14982 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/portgroup.py -rw-r--r-- root/root 8119 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/trait.py -rw-r--r-- root/root 13116 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/volume_connector.py -rw-r--r-- root/root 14316 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/objects/volume_target.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/__init__.py -rw-r--r-- root/root 8070 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/base.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/functional/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/functional/__init__.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/ -rw-r--r-- root/root 1573 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/__init__.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/__init__.py -rw-r--r-- root/root 10456 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/base.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/__init__.py -rw-r--r-- root/root 5322 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/test_base.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/__init__.py -rw-r--r-- root/root 27318 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_chassis.py -rw-r--r-- root/root 24291 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_driver.py -rw-r--r-- root/root 2863 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_expose.py -rw-r--r-- root/root 240183 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_node.py -rw-r--r-- root/root 10401 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_notification_utils.py -rw-r--r-- root/root 101699 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_port.py -rw-r--r-- root/root 66372 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_portgroup.py -rw-r--r-- root/root 10856 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_ramdisk.py -rw-r--r-- root/root 2476 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_root.py -rw-r--r-- root/root 13813 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_types.py -rw-r--r-- root/root 31969 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_utils.py -rw-r--r-- root/root 3367 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_versions.py -rw-r--r-- root/root 2196 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_volume.py -rw-r--r-- root/root 46859 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_volume_connector.py -rw-r--r-- root/root 44895 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/controllers/v1/test_volume_target.py -rw-r--r-- root/root 4195 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_acl.py -rw-r--r-- root/root 1985 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_audit.py -rw-r--r-- root/root 11219 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_hooks.py -rw-r--r-- root/root 4418 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_middleware.py -rw-r--r-- root/root 1463 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_ospmiddleware.py -rw-r--r-- root/root 3544 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_root.py -rw-r--r-- root/root 6453 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/__init__.py -rw-r--r-- root/root 2687 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/test_conductor.py -rw-r--r-- root/root 12728 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/test_dbsync.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/__init__.py -rw-r--r-- root/root 37478 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_cinder.py -rw-r--r-- root/root 3113 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_context.py -rw-r--r-- root/root 42252 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_driver_factory.py -rw-r--r-- root/root 2913 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_exception.py -rw-r--r-- root/root 3719 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_fsm.py -rw-r--r-- root/root 46084 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_glance_service.py -rw-r--r-- root/root 3255 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_hash_ring.py -rw-r--r-- root/root 15705 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_image_service.py -rw-r--r-- root/root 42075 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_images.py -rw-r--r-- root/root 3900 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_keystone.py -rw-r--r-- root/root 15022 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_network.py -rw-r--r-- root/root 43671 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_neutron.py -rw-r--r-- root/root 5937 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_policy.py -rw-r--r-- root/root 39716 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_pxe_utils.py -rw-r--r-- root/root 11359 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_raid.py -rw-r--r-- root/root 8345 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_release_mappings.py -rw-r--r-- root/root 8223 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_rpc.py -rw-r--r-- root/root 2255 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_rpc_service.py -rw-r--r-- root/root 1461 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_states.py -rw-r--r-- root/root 9169 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_swift.py -rw-r--r-- root/root 26362 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_utils.py -rw-r--r-- root/root 3002 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_wsgi_service.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/__init__.py -rw-r--r-- root/root 8190 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/mgr_utils.py -rw-r--r-- root/root 2098 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test__mgr_utils.py -rw-r--r-- root/root 24218 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_base_manager.py -rw-r--r-- root/root 351637 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_manager.py -rw-r--r-- root/root 9639 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_notification_utils.py -rw-r--r-- root/root 22366 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_rpcapi.py -rw-r--r-- root/root 49551 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_task_manager.py -rw-r--r-- root/root 84937 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/__init__.py -rw-r--r-- root/root 2394 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/test_auth.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/__init__.py -rw-r--r-- root/root 2239 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/base.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/__init__.py -rw-r--r-- root/root 1448 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_api.py -rw-r--r-- root/root 33576 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py -rw-r--r-- root/root 3385 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_types.py -rw-r--r-- root/root 7396 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_api.py -rw-r--r-- root/root 3335 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_chassis.py -rw-r--r-- root/root 18882 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_conductor.py -rw-r--r-- root/root 4702 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_node_tags.py -rw-r--r-- root/root 7579 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_node_traits.py -rw-r--r-- root/root 31210 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_nodes.py -rw-r--r-- root/root 9199 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_portgroups.py -rw-r--r-- root/root 5442 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_ports.py -rw-r--r-- root/root 6721 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_volume_connectors.py -rw-r--r-- root/root 7546 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_volume_targets.py -rw-r--r-- root/root 17667 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/__init__.py -rw-r--r-- root/root 4085 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/test_factory.py -rw-r--r-- root/root 19800 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/test_neutron.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ -rw-r--r-- root/root 1001 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/__init__.py -rw-r--r-- root/root 759 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/boot.ipxe -rw-r--r-- root/root 643 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/elilo_efi_pxe_config.template -rw-r--r-- root/root 575 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config.template -rw-r--r-- root/root 988 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -rw-r--r-- root/root 909 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_volumes.template -rw-r--r-- root/root 631 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_timeout.template drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/__init__.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ansible/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ansible/__init__.py -rw-r--r-- root/root 43665 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ansible/test_deploy.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/__init__.py -rw-r--r-- root/root 5129 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_common.py -rw-r--r-- root/root 5674 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_management.py -rw-r--r-- root/root 15948 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_power.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/__init__.py -rw-r--r-- root/root 6845 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py -rw-r--r-- root/root 6704 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_common.py -rw-r--r-- root/root 11638 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py -rw-r--r-- root/root 6492 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_job.py -rw-r--r-- root/root 12362 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_management.py -rw-r--r-- root/root 14860 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -rw-r--r-- root/root 6625 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_power.py -rw-r--r-- root/root 59077 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py -rw-r--r-- root/root 822 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py -rw-r--r-- root/root 67249 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py -rw-r--r-- root/root 52062 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py -rw-r--r-- root/root 2923 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py -rw-r--r-- root/root 28719 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -rw-r--r-- root/root 22968 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -rw-r--r-- root/root 44422 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py -rw-r--r-- root/root 12343 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py -rw-r--r-- root/root 5017 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py -rw-r--r-- root/root 4271 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -rw-r--r-- root/root 4241 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -rw-r--r-- root/root 83830 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py -rw-r--r-- root/root 10968 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py -rw-r--r-- root/root 26134 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -rw-r--r-- root/root 22864 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py -rw-r--r-- root/root 20007 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/__init__.py -rw-r--r-- root/root 70372 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_common.py -rw-r--r-- root/root 11028 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_flat.py -rw-r--r-- root/root 34689 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py -rw-r--r-- root/root 3793 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_noop.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/__init__.py -rw-r--r-- root/root 16770 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_common.py -rw-r--r-- root/root 23035 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy.py -rw-r--r-- root/root 15065 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -rw-r--r-- root/root 4559 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_inspect.py -rw-r--r-- root/root 18014 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_management.py -rw-r--r-- root/root 15582 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_power.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py -rw-r--r-- root/root 8645 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py -rw-r--r-- root/root 10741 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py -rw-r--r-- root/root 8421 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/__init__.py -rw-r--r-- root/root 31687 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py -rw-r--r-- root/root 75075 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent.py -rw-r--r-- root/root 69146 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -rw-r--r-- root/root 11913 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent_client.py -rw-r--r-- root/root 26542 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_console_utils.py -rw-r--r-- root/root 108451 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py -rw-r--r-- root/root 33247 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_image_cache.py -rw-r--r-- root/root 9053 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_inspector.py -rw-r--r-- root/root 121749 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py -rw-r--r-- root/root 52146 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -rw-r--r-- root/root 2666 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_noop.py -rw-r--r-- root/root 63008 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_pxe.py -rw-r--r-- root/root 67470 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_snmp.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/__init__.py -rw-r--r-- root/root 7283 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_helper.py -rw-r--r-- root/root 6124 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_management.py -rw-r--r-- root/root 17837 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_power.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity/__init__.py -rw-r--r-- root/root 2643 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity/test_common.py -rw-r--r-- root/root 5428 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity/test_management.py -rw-r--r-- root/root 6667 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/xclarity/test_power.py -rw-r--r-- root/root 763 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/pxe_config.template -rw-r--r-- root/root 673 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/pxe_grub_config.template -rw-r--r-- root/root 23907 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_base.py -rw-r--r-- root/root 6589 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_cisco.py -rw-r--r-- root/root 6728 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_drac.py -rw-r--r-- root/root 5040 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_fake.py -rw-r--r-- root/root 4063 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_generic.py -rw-r--r-- root/root 7693 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_ilo.py -rw-r--r-- root/root 6900 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_ipmi.py -rw-r--r-- root/root 7636 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_irmc.py -rw-r--r-- root/root 7957 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_oneview.py -rw-r--r-- root/root 6461 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_pxe.py -rw-r--r-- root/root 2045 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_redfish.py -rw-r--r-- root/root 1914 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_snmp.py -rw-r--r-- root/root 16904 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_utils.py -rw-r--r-- root/root 2037 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_xclarity.py -rw-r--r-- root/root 3651 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -rw-r--r-- root/root 11504 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/ -rw-r--r-- root/root 0 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/__init__.py -rw-r--r-- root/root 6011 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_chassis.py -rw-r--r-- root/root 7185 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_conductor.py -rw-r--r-- root/root 5020 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_fields.py -rw-r--r-- root/root 26485 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_node.py -rw-r--r-- root/root 12030 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_notification.py -rw-r--r-- root/root 42332 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_objects.py -rw-r--r-- root/root 9399 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_port.py -rw-r--r-- root/root 7658 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_portgroup.py -rw-r--r-- root/root 4846 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_trait.py -rw-r--r-- root/root 9684 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_volume_connector.py -rw-r--r-- root/root 10034 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_volume_target.py -rw-r--r-- root/root 9291 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/utils.py -rw-r--r-- root/root 1666 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/policy_fixture.py -rw-r--r-- root/root 5877 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/raid_constants.py -rw-r--r-- root/root 2398 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/stubs.py -rw-r--r-- root/root 705 2018-02-22 19:51 ./usr/lib/python2.7/dist-packages/ironic/version.py drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/ drwxr-xr-x root/root 0 2018-03-12 20:36 ./usr/share/doc/python-ironic/ -rw-r--r-- root/root 1127 2018-03-12 20:36 ./usr/share/doc/python-ironic/changelog.Debian.gz -rw-r--r-- root/root 1667 2018-03-12 20:36 ./usr/share/doc/python-ironic/copyright +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build-Space: 46704 Build-Time: 126 Distribution: bionic-proposed Host Architecture: amd64 Install-Time: 86 Job: ironic_10.1.1-0ubuntu2.dsc Machine Architecture: amd64 Package: ironic Package-Time: 213 Source-Version: 1:10.1.1-0ubuntu2 Space: 46704 Status: successful Version: 1:10.1.1-0ubuntu2 -------------------------------------------------------------------------------- Finished at 20180312-2059 Build needed 00:03:33, 46704k disc space RUN: /usr/share/launchpad-buildd/slavebin/in-target scan-for-processes --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-14447574 Scanning for processes to kill in build PACKAGEBUILD-14447574 RUN: /usr/share/launchpad-buildd/slavebin/in-target umount-chroot --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-14447574 Stopping target for build PACKAGEBUILD-14447574 RUN: /usr/share/launchpad-buildd/slavebin/in-target remove-build --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-14447574 Removing build PACKAGEBUILD-14447574