RUN: /usr/share/launchpad-buildd/slavebin/slave-prep Forking launchpad-buildd slave process... Kernel version: Linux lcy01-13 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 Buildd toolchain package versions: launchpad-buildd_154 python-lpbuildd_154 sbuild_0.67.0-2ubuntu7.1 bzr-builder_0.7.3+bzr174~ppa13~ubuntu14.10.1 bzr_2.7.0-2ubuntu3.1 git-build-recipe_0.3.4~git201611291343.dcee459~ubuntu16.04.1 git_1:2.7.4-0ubuntu1.3 dpkg-dev_1.18.4ubuntu1.2 python-debian_0.1.27ubuntu2. Syncing the system clock with the buildd NTP service... 31 Oct 14:09:07 ntpdate[1764]: adjust time server 10.211.37.1 offset 0.004164 sec RUN: /usr/share/launchpad-buildd/slavebin/in-target unpack-chroot --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 /home/buildd/filecache-default/f027e517e95d0e91684230ee23be60d709f816c0 Creating target for build PACKAGEBUILD-13649182 RUN: /usr/share/launchpad-buildd/slavebin/in-target mount-chroot --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 Starting target for build PACKAGEBUILD-13649182 RUN: /usr/share/launchpad-buildd/slavebin/in-target override-sources-list --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 'deb http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu artful main' 'deb http://ftpmaster.internal/ubuntu artful main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu artful-security main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu artful-updates main restricted universe multiverse' 'deb http://ftpmaster.internal/ubuntu artful-proposed main restricted universe multiverse' Overriding sources.list in build-PACKAGEBUILD-13649182 RUN: /usr/share/launchpad-buildd/slavebin/in-target add-trusted-keys --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 Adding trusted keys to build-PACKAGEBUILD-13649182 Warning: apt-key output should not be parsed (stdout is not a terminal) OK Warning: apt-key output should not be parsed (stdout is not a terminal) /etc/apt/trusted.gpg -------------------- pub rsa1024 2011-11-30 [SC] 0B91 0003 71B1 27C2 FF62 A627 81DC D842 3B6F 61A6 uid [ unknown] Launchpad PPA for Openstack Ubuntu Testers /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg ------------------------------------------------------ pub rsa4096 2012-05-11 [SC] 790B C727 7767 219C 42C8 6F93 3B4F E6AC C0B2 1F32 uid [ unknown] Ubuntu Archive Automatic Signing Key (2012) /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg ------------------------------------------------------ pub rsa4096 2012-05-11 [SC] 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092 uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) RUN: /usr/share/launchpad-buildd/slavebin/in-target update-debian-chroot --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 Updating target for build PACKAGEBUILD-13649182 Get:1 http://ftpmaster.internal/ubuntu artful InRelease [237 kB] Get:2 http://ftpmaster.internal/ubuntu artful-security InRelease [70.3 kB] Get:3 http://ftpmaster.internal/ubuntu artful-updates InRelease [76.7 kB] Get:4 http://ftpmaster.internal/ubuntu artful-proposed InRelease [235 kB] Get:5 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu artful InRelease [15.4 kB] Get:6 http://ftpmaster.internal/ubuntu artful/main amd64 Packages [1071 kB] Get:7 http://ftpmaster.internal/ubuntu artful/main Translation-en [542 kB] Get:8 http://ftpmaster.internal/ubuntu artful/restricted amd64 Packages [8852 B] Get:9 http://ftpmaster.internal/ubuntu artful/restricted Translation-en [2788 B] Get:10 http://ftpmaster.internal/ubuntu artful/universe amd64 Packages [8103 kB] Get:11 http://ftpmaster.internal/ubuntu artful/universe Translation-en [4789 kB] Get:12 http://ftpmaster.internal/ubuntu artful/multiverse amd64 Packages [150 kB] Get:13 http://ftpmaster.internal/ubuntu artful/multiverse Translation-en [108 kB] Get:14 http://ftpmaster.internal/ubuntu artful-security/main amd64 Packages [9940 B] Get:15 http://ftpmaster.internal/ubuntu artful-security/main Translation-en [5060 B] Get:16 http://ftpmaster.internal/ubuntu artful-security/universe amd64 Packages [4696 B] Get:17 http://ftpmaster.internal/ubuntu artful-security/universe Translation-en [2504 B] Get:18 http://ftpmaster.internal/ubuntu artful-security/multiverse amd64 Packages [1164 B] Get:19 http://ftpmaster.internal/ubuntu artful-security/multiverse Translation-en [632 B] Get:20 http://ftpmaster.internal/ubuntu artful-updates/main amd64 Packages [15.6 kB] Get:21 http://ftpmaster.internal/ubuntu artful-updates/main Translation-en [7828 B] Get:22 http://ftpmaster.internal/ubuntu artful-updates/universe amd64 Packages [9164 B] Get:23 http://ftpmaster.internal/ubuntu artful-updates/universe Translation-en [4732 B] Get:24 http://ftpmaster.internal/ubuntu artful-updates/multiverse amd64 Packages [1164 B] Get:25 http://ftpmaster.internal/ubuntu artful-updates/multiverse Translation-en [632 B] Get:26 http://ftpmaster.internal/ubuntu artful-proposed/main amd64 Packages [13.1 kB] Get:27 http://ftpmaster.internal/ubuntu artful-proposed/main Translation-en [7232 B] Get:28 http://ftpmaster.internal/ubuntu artful-proposed/universe amd64 Packages [4460 B] Get:29 http://ftpmaster.internal/ubuntu artful-proposed/universe Translation-en [3560 B] Get:30 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu artful/main amd64 Packages [47.4 kB] Get:31 http://ppa.launchpad.net/openstack-ubuntu-testing/pike/ubuntu artful/main Translation-en [21.7 kB] Fetched 15.6 MB in 3s (3949 kB/s) Reading package lists... W: Ignoring Provides line with non-equal DepCompareOp for package python-oslo.context W: Ignoring Provides line with non-equal DepCompareOp for package python3-oslo.context Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following package was automatically installed and is no longer required: libustr-1.0-1 Use 'sudo apt autoremove' to remove it. The following packages will be upgraded: apt apt-transport-https base-files binutils binutils-common binutils-x86-64-linux-gnu build-essential coreutils cpp-7 g++-7 gcc-7 gcc-7-base gnupg gnupg-agent gpgv libapt-pkg5.0 libasan4 libatomic1 libbinutils libc-bin libc-dev-bin libc6 libc6-dev libcap2 libcc1-0 libcilkrts5 libcurl3-gnutls libgcc-7-dev libgcc1 libgomp1 libhogweed4 libitm1 liblsan0 libmpx2 libnettle6 libpcre3 libpng16-16 libquadmath0 libseccomp2 libsemanage-common libsemanage1 libstdc++-7-dev libstdc++6 libsystemd0 libtsan0 libubsan0 libudev1 linux-libc-dev multiarch-support systemd systemd-sysv 51 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 45.1 MB of archives. After this operation, 187 kB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu artful/main amd64 base-files amd64 9.6ubuntu102 [59.0 kB] Get:2 http://ftpmaster.internal/ubuntu artful/main amd64 coreutils amd64 8.26-3ubuntu4 [1213 kB] Get:3 http://ftpmaster.internal/ubuntu artful/main amd64 libc6-dev amd64 2.26-0ubuntu2 [2524 kB] Get:4 http://ftpmaster.internal/ubuntu artful/main amd64 libc-dev-bin amd64 2.26-0ubuntu2 [69.6 kB] Get:5 http://ftpmaster.internal/ubuntu artful/main amd64 linux-libc-dev amd64 4.13.0-16.19 [954 kB] Get:6 http://ftpmaster.internal/ubuntu artful/main amd64 libquadmath0 amd64 7.2.0-8ubuntu3 [132 kB] Get:7 http://ftpmaster.internal/ubuntu artful/main amd64 libitm1 amd64 7.2.0-8ubuntu3 [27.6 kB] Get:8 http://ftpmaster.internal/ubuntu artful/main amd64 gcc-7-base amd64 7.2.0-8ubuntu3 [18.0 kB] Get:9 http://ftpmaster.internal/ubuntu artful/main amd64 libgcc1 amd64 1:7.2.0-8ubuntu3 [39.4 kB] Get:10 http://ftpmaster.internal/ubuntu artful/main amd64 libmpx2 amd64 7.2.0-8ubuntu3 [11.7 kB] Get:11 http://ftpmaster.internal/ubuntu artful/main amd64 libgomp1 amd64 7.2.0-8ubuntu3 [76.4 kB] Get:12 http://ftpmaster.internal/ubuntu artful/main amd64 libatomic1 amd64 7.2.0-8ubuntu3 [8954 B] Get:13 http://ftpmaster.internal/ubuntu artful/main amd64 libasan4 amd64 7.2.0-8ubuntu3 [360 kB] Get:14 http://ftpmaster.internal/ubuntu artful/main amd64 liblsan0 amd64 7.2.0-8ubuntu3 [133 kB] Get:15 http://ftpmaster.internal/ubuntu artful/main amd64 libtsan0 amd64 7.2.0-8ubuntu3 [282 kB] Get:16 http://ftpmaster.internal/ubuntu artful/main amd64 libubsan0 amd64 7.2.0-8ubuntu3 [126 kB] Get:17 http://ftpmaster.internal/ubuntu artful/main amd64 libcilkrts5 amd64 7.2.0-8ubuntu3 [42.5 kB] Get:18 http://ftpmaster.internal/ubuntu artful/main amd64 cpp-7 amd64 7.2.0-8ubuntu3 [6727 kB] Get:19 http://ftpmaster.internal/ubuntu artful/main amd64 libcc1-0 amd64 7.2.0-8ubuntu3 [38.6 kB] Get:20 http://ftpmaster.internal/ubuntu artful/main amd64 g++-7 amd64 7.2.0-8ubuntu3 [7551 kB] Get:21 http://ftpmaster.internal/ubuntu artful/main amd64 gcc-7 amd64 7.2.0-8ubuntu3 [7411 kB] Get:22 http://ftpmaster.internal/ubuntu artful/main amd64 libgcc-7-dev amd64 7.2.0-8ubuntu3 [2378 kB] Get:23 http://ftpmaster.internal/ubuntu artful/main amd64 libstdc++-7-dev amd64 7.2.0-8ubuntu3 [1456 kB] Get:24 http://ftpmaster.internal/ubuntu artful/main amd64 libstdc++6 amd64 7.2.0-8ubuntu3 [405 kB] Get:25 http://ftpmaster.internal/ubuntu artful/main amd64 libbinutils amd64 2.29.1-4ubuntu1 [502 kB] Get:26 http://ftpmaster.internal/ubuntu artful/main amd64 binutils amd64 2.29.1-4ubuntu1 [3342 B] Get:27 http://ftpmaster.internal/ubuntu artful/main amd64 binutils-common amd64 2.29.1-4ubuntu1 [190 kB] Get:28 http://ftpmaster.internal/ubuntu artful/main amd64 binutils-x86-64-linux-gnu amd64 2.29.1-4ubuntu1 [1824 kB] Get:29 http://ftpmaster.internal/ubuntu artful/main amd64 libc6 amd64 2.26-0ubuntu2 [2778 kB] Get:30 http://ftpmaster.internal/ubuntu artful/main amd64 libc-bin amd64 2.26-0ubuntu2 [593 kB] Get:31 http://ftpmaster.internal/ubuntu artful-security/main amd64 libudev1 amd64 234-2ubuntu12.1 [51.8 kB] Get:32 http://ftpmaster.internal/ubuntu artful-proposed/main amd64 libapt-pkg5.0 amd64 1.5.1 [781 kB] Get:33 http://ftpmaster.internal/ubuntu artful/main amd64 gpgv amd64 2.1.15-1ubuntu8 [186 kB] Get:34 http://ftpmaster.internal/ubuntu artful-proposed/main amd64 apt amd64 1.5.1 [1121 kB] Get:35 http://ftpmaster.internal/ubuntu artful/main amd64 libcap2 amd64 1:2.25-1.1 [13.2 kB] Get:36 http://ftpmaster.internal/ubuntu artful/main amd64 libseccomp2 amd64 2.3.1-2.1ubuntu3 [37.3 kB] Get:37 http://ftpmaster.internal/ubuntu artful-security/main amd64 systemd amd64 234-2ubuntu12.1 [2781 kB] Get:38 http://ftpmaster.internal/ubuntu artful-security/main amd64 libsystemd0 amd64 234-2ubuntu12.1 [208 kB] Get:39 http://ftpmaster.internal/ubuntu artful-security/main amd64 systemd-sysv amd64 234-2ubuntu12.1 [11.0 kB] Get:40 http://ftpmaster.internal/ubuntu artful/main amd64 libpcre3 amd64 2:8.39-5ubuntu3 [229 kB] Get:41 http://ftpmaster.internal/ubuntu artful/main amd64 libsemanage-common all 2.7-2 [6916 B] Get:42 http://ftpmaster.internal/ubuntu artful/main amd64 libsemanage1 amd64 2.7-2 [84.6 kB] Get:43 http://ftpmaster.internal/ubuntu artful/main amd64 libnettle6 amd64 3.3-2 [91.7 kB] Get:44 http://ftpmaster.internal/ubuntu artful/main amd64 libhogweed4 amd64 3.3-2 [135 kB] Get:45 http://ftpmaster.internal/ubuntu artful/main amd64 gnupg amd64 2.1.15-1ubuntu8 [780 kB] Get:46 http://ftpmaster.internal/ubuntu artful/main amd64 gnupg-agent amd64 2.1.15-1ubuntu8 [255 kB] Get:47 http://ftpmaster.internal/ubuntu artful/main amd64 multiarch-support amd64 2.26-0ubuntu2 [6832 B] Get:48 http://ftpmaster.internal/ubuntu artful/main amd64 libpng16-16 amd64 1.6.34-1 [176 kB] Get:49 http://ftpmaster.internal/ubuntu artful-security/main amd64 libcurl3-gnutls amd64 7.55.1-1ubuntu2.1 [193 kB] Get:50 http://ftpmaster.internal/ubuntu artful-proposed/main amd64 apt-transport-https amd64 1.5.1 [34.7 kB] Get:51 http://ftpmaster.internal/ubuntu artful/main amd64 build-essential amd64 12.4ubuntu1 [4758 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 45.1 MB in 2s (15.7 MB/s) (Reading database ... 12676 files and directories currently installed.) Preparing to unpack .../base-files_9.6ubuntu102_amd64.deb ... Unpacking base-files (9.6ubuntu102) over (9.6ubuntu101) ... Setting up base-files (9.6ubuntu102) ... 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 ... 12676 files and directories currently installed.) Preparing to unpack .../coreutils_8.26-3ubuntu4_amd64.deb ... Unpacking coreutils (8.26-3ubuntu4) over (8.26-3ubuntu3) ... Setting up coreutils (8.26-3ubuntu4) ... (Reading database ... 12676 files and directories currently installed.) Preparing to unpack .../0-libc6-dev_2.26-0ubuntu2_amd64.deb ... Unpacking libc6-dev:amd64 (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../1-libc-dev-bin_2.26-0ubuntu2_amd64.deb ... Unpacking libc-dev-bin (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../2-linux-libc-dev_4.13.0-16.19_amd64.deb ... Unpacking linux-libc-dev:amd64 (4.13.0-16.19) over (4.13.0-11.12) ... Preparing to unpack .../3-libquadmath0_7.2.0-8ubuntu3_amd64.deb ... Unpacking libquadmath0:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../4-libitm1_7.2.0-8ubuntu3_amd64.deb ... Unpacking libitm1:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../5-gcc-7-base_7.2.0-8ubuntu3_amd64.deb ... Unpacking gcc-7-base:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Setting up gcc-7-base:amd64 (7.2.0-8ubuntu3) ... (Reading database ... 12676 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a7.2.0-8ubuntu3_amd64.deb ... Unpacking libgcc1:amd64 (1:7.2.0-8ubuntu3) over (1:7.2.0-6ubuntu1) ... Setting up libgcc1:amd64 (1:7.2.0-8ubuntu3) ... (Reading database ... 12676 files and directories currently installed.) Preparing to unpack .../00-libmpx2_7.2.0-8ubuntu3_amd64.deb ... Unpacking libmpx2:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../01-libgomp1_7.2.0-8ubuntu3_amd64.deb ... Unpacking libgomp1:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../02-libatomic1_7.2.0-8ubuntu3_amd64.deb ... Unpacking libatomic1:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../03-libasan4_7.2.0-8ubuntu3_amd64.deb ... Unpacking libasan4:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../04-liblsan0_7.2.0-8ubuntu3_amd64.deb ... Unpacking liblsan0:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../05-libtsan0_7.2.0-8ubuntu3_amd64.deb ... Unpacking libtsan0:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../06-libubsan0_7.2.0-8ubuntu3_amd64.deb ... Unpacking libubsan0:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../07-libcilkrts5_7.2.0-8ubuntu3_amd64.deb ... Unpacking libcilkrts5:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../08-cpp-7_7.2.0-8ubuntu3_amd64.deb ... Unpacking cpp-7 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../09-libcc1-0_7.2.0-8ubuntu3_amd64.deb ... Unpacking libcc1-0:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../10-g++-7_7.2.0-8ubuntu3_amd64.deb ... Unpacking g++-7 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../11-gcc-7_7.2.0-8ubuntu3_amd64.deb ... Unpacking gcc-7 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../12-libgcc-7-dev_7.2.0-8ubuntu3_amd64.deb ... Unpacking libgcc-7-dev:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../13-libstdc++-7-dev_7.2.0-8ubuntu3_amd64.deb ... Unpacking libstdc++-7-dev:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Preparing to unpack .../14-libstdc++6_7.2.0-8ubuntu3_amd64.deb ... Unpacking libstdc++6:amd64 (7.2.0-8ubuntu3) over (7.2.0-6ubuntu1) ... Setting up libstdc++6:amd64 (7.2.0-8ubuntu3) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libbinutils_2.29.1-4ubuntu1_amd64.deb ... Unpacking libbinutils:amd64 (2.29.1-4ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../binutils_2.29.1-4ubuntu1_amd64.deb ... Unpacking binutils (2.29.1-4ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../binutils-common_2.29.1-4ubuntu1_amd64.deb ... Unpacking binutils-common:amd64 (2.29.1-4ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../binutils-x86-64-linux-gnu_2.29.1-4ubuntu1_amd64.deb ... Unpacking binutils-x86-64-linux-gnu (2.29.1-4ubuntu1) over (2.29.1-1ubuntu1) ... Preparing to unpack .../libc6_2.26-0ubuntu2_amd64.deb ... Unpacking libc6:amd64 (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc6:amd64 (2.26-0ubuntu2) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libc-bin_2.26-0ubuntu2_amd64.deb ... Unpacking libc-bin (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Setting up libc-bin (2.26-0ubuntu2) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libudev1_234-2ubuntu12.1_amd64.deb ... Unpacking libudev1:amd64 (234-2ubuntu12.1) over (234-2ubuntu10) ... Setting up libudev1:amd64 (234-2ubuntu12.1) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libapt-pkg5.0_1.5.1_amd64.deb ... Unpacking libapt-pkg5.0:amd64 (1.5.1) over (1.5~rc4) ... Setting up libapt-pkg5.0:amd64 (1.5.1) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../gpgv_2.1.15-1ubuntu8_amd64.deb ... Unpacking gpgv (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Setting up gpgv (2.1.15-1ubuntu8) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../archives/apt_1.5.1_amd64.deb ... Unpacking apt (1.5.1) over (1.5~rc4) ... Setting up apt (1.5.1) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libcap2_1%3a2.25-1.1_amd64.deb ... Unpacking libcap2:amd64 (1:2.25-1.1) over (1:2.25-1) ... Preparing to unpack .../libseccomp2_2.3.1-2.1ubuntu3_amd64.deb ... Unpacking libseccomp2:amd64 (2.3.1-2.1ubuntu3) over (2.3.1-2.1ubuntu2) ... Preparing to unpack .../systemd_234-2ubuntu12.1_amd64.deb ... Unpacking systemd (234-2ubuntu12.1) over (234-2ubuntu10) ... Preparing to unpack .../libsystemd0_234-2ubuntu12.1_amd64.deb ... Unpacking libsystemd0:amd64 (234-2ubuntu12.1) over (234-2ubuntu10) ... Setting up libsystemd0:amd64 (234-2ubuntu12.1) ... Setting up libcap2:amd64 (1:2.25-1.1) ... Setting up libseccomp2:amd64 (2.3.1-2.1ubuntu3) ... Setting up systemd (234-2ubuntu12.1) ... Removing empty /etc/rc.local addgroup: The group `systemd-journal' already exists as a system group. Exiting. Removed /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service. (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../systemd-sysv_234-2ubuntu12.1_amd64.deb ... Unpacking systemd-sysv (234-2ubuntu12.1) over (234-2ubuntu10) ... Preparing to unpack .../libpcre3_2%3a8.39-5ubuntu3_amd64.deb ... Unpacking libpcre3:amd64 (2:8.39-5ubuntu3) over (2:8.39-4) ... Setting up libpcre3:amd64 (2:8.39-5ubuntu3) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libsemanage-common_2.7-2_all.deb ... Unpacking libsemanage-common (2.7-2) over (2.7-1) ... Setting up libsemanage-common (2.7-2) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libsemanage1_2.7-2_amd64.deb ... Unpacking libsemanage1:amd64 (2.7-2) over (2.7-1) ... Setting up libsemanage1:amd64 (2.7-2) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libnettle6_3.3-2_amd64.deb ... Unpacking libnettle6:amd64 (3.3-2) over (3.3-1) ... Setting up libnettle6:amd64 (3.3-2) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../libhogweed4_3.3-2_amd64.deb ... Unpacking libhogweed4:amd64 (3.3-2) over (3.3-1) ... Setting up libhogweed4:amd64 (3.3-2) ... (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../0-gnupg_2.1.15-1ubuntu8_amd64.deb ... Unpacking gnupg (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Preparing to unpack .../1-gnupg-agent_2.1.15-1ubuntu8_amd64.deb ... Unpacking gnupg-agent (2.1.15-1ubuntu8) over (2.1.15-1ubuntu7) ... Preparing to unpack .../2-multiarch-support_2.26-0ubuntu2_amd64.deb ... Unpacking multiarch-support (2.26-0ubuntu2) over (2.26-0ubuntu1) ... Preparing to unpack .../3-libpng16-16_1.6.34-1_amd64.deb ... Unpacking libpng16-16:amd64 (1.6.34-1) over (1.6.32-2) ... Preparing to unpack .../4-libcurl3-gnutls_7.55.1-1ubuntu2.1_amd64.deb ... Unpacking libcurl3-gnutls:amd64 (7.55.1-1ubuntu2.1) over (7.55.1-1ubuntu1) ... Preparing to unpack .../5-apt-transport-https_1.5.1_amd64.deb ... Unpacking apt-transport-https (1.5.1) over (1.5~rc4) ... Preparing to unpack .../6-build-essential_12.4ubuntu1_amd64.deb ... Unpacking build-essential (12.4ubuntu1) over (12.1ubuntu2) ... Setting up libquadmath0:amd64 (7.2.0-8ubuntu3) ... Setting up libgomp1:amd64 (7.2.0-8ubuntu3) ... Setting up libatomic1:amd64 (7.2.0-8ubuntu3) ... Setting up libcc1-0:amd64 (7.2.0-8ubuntu3) ... Setting up libasan4:amd64 (7.2.0-8ubuntu3) ... Setting up libpng16-16:amd64 (1.6.34-1) ... Setting up libcilkrts5:amd64 (7.2.0-8ubuntu3) ... Setting up libcurl3-gnutls:amd64 (7.55.1-1ubuntu2.1) ... Setting up multiarch-support (2.26-0ubuntu2) ... Setting up systemd-sysv (234-2ubuntu12.1) ... Setting up libubsan0:amd64 (7.2.0-8ubuntu3) ... Setting up libtsan0:amd64 (7.2.0-8ubuntu3) ... Setting up linux-libc-dev:amd64 (4.13.0-16.19) ... Setting up cpp-7 (7.2.0-8ubuntu3) ... Setting up liblsan0:amd64 (7.2.0-8ubuntu3) ... Setting up binutils-common:amd64 (2.29.1-4ubuntu1) ... Setting up libmpx2:amd64 (7.2.0-8ubuntu3) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Setting up libc-dev-bin (2.26-0ubuntu2) ... Setting up gnupg-agent (2.1.15-1ubuntu8) ... Setting up libc6-dev:amd64 (2.26-0ubuntu2) ... Setting up libitm1:amd64 (7.2.0-8ubuntu3) ... Setting up apt-transport-https (1.5.1) ... Setting up libbinutils:amd64 (2.29.1-4ubuntu1) ... Setting up build-essential (12.4ubuntu1) ... Setting up gnupg (2.1.15-1ubuntu8) ... Setting up libgcc-7-dev:amd64 (7.2.0-8ubuntu3) ... Setting up libstdc++-7-dev:amd64 (7.2.0-8ubuntu3) ... Setting up binutils-x86-64-linux-gnu (2.29.1-4ubuntu1) ... Setting up binutils (2.29.1-4ubuntu1) ... Setting up gcc-7 (7.2.0-8ubuntu3) ... Setting up g++-7 (7.2.0-8ubuntu3) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... RUN: /usr/share/launchpad-buildd/slavebin/sbuild-package PACKAGEBUILD-13649182 amd64 artful -c chroot:build-PACKAGEBUILD-13649182 --arch=amd64 --dist=artful --nolog -A ironic_9.1.2.dev19.201710311400.artful-0ubuntu1.dsc Initiating build PACKAGEBUILD-13649182 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on lcy01-13.buildd +==============================================================================+ | ironic 1:9.1.2.dev19.201710311400.artful-0ubuntu1 (amd64) 31 Oct 2017 14:09 | +==============================================================================+ Package: ironic Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Source Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Distribution: artful Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 I: NOTICE: Log filtering will replace 'build/ironic-i6AYJ2/ironic-9.1.2.dev19.201710311400.artful' with '<>' I: NOTICE: Log filtering will replace 'build/ironic-i6AYJ2' with '<>' I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-13649182/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- ironic_9.1.2.dev19.201710311400.artful-0ubuntu1.dsc exists in .; copying to chroot Check architectures ------------------- Check dependencies ------------------ Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<>/resolver-Jo9xGt/apt_archive/sbuild-build-depends-core-dummy.deb'. Ign:1 copy:/<>/resolver-Jo9xGt/apt_archive ./ InRelease Get:2 copy:/<>/resolver-Jo9xGt/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-Jo9xGt/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-Jo9xGt/apt_archive ./ Sources [214 B] Get:5 copy:/<>/resolver-Jo9xGt/apt_archive ./ Packages [526 B] Fetched 2859 B in 0s (218 kB/s) Reading package lists... Reading package lists... W: Ignoring Provides line with non-equal DepCompareOp for package python-oslo.context W: Ignoring Provides line with non-equal DepCompareOp for package python3-oslo.context +------------------------------------------------------------------------------+ | Install core build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following package was automatically installed and is no longer required: libustr-1.0-1 Use 'apt autoremove' to remove it. 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 778 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-Jo9xGt/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [778 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 778 B in 0s (0 B/s) Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 12677 files and directories currently installed.) Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: debhelper (>= 9~), dh-python, dh-systemd, openstack-pkg-tools (>= 23~), python-all, python-pbr (>= 2.0.0), python-setuptools, python-sphinx (>= 1.5.1), alembic (>= 0.8.10), python-automaton (>= 0.5.0), python-babel (>= 2.3.4), python-bashate (>= 0.2), python-cinderclient (>= 1:3.1.0), python-coverage (>= 4.0), python-eventlet (>= 0.18.2), python-fixtures (>= 3.0.0), python-futurist (>= 0.11.0), python-glanceclient (>= 1:2.8.0), python-hacking (>= 0.12.0), python-ironic-lib (>= 2.5.0), python-ironicclient (>= 1.14.0), python-iso8601 (>= 0.1.11), python-jinja2 (>= 2.8), python-jsonpatch (>= 1.1), python-jsonschema (>= 2.0.0), python-keystoneauth1 (>= 3.1.0), python-keystonemiddleware (>= 4.12.0), python-mock (>= 2.0), python-neutronclient (>= 1:6.3.0), python-openstackdocstheme (>= 1.16.0), python-os-api-ref (>= 1.0.0), python-os-testr (>= 0.8.0), python-oslo.concurrency (>= 3.8.0), python-oslo.config (>= 1:4.0.0), python-oslo.context (>= 2.14.0), python-oslo.db (>= 4.24.0), python-oslo.i18n (>= 2.1.0), python-oslo.log (>= 3.11.0), python-oslo.messaging (>= 5.24.2), python-oslo.middleware (>= 3.27.0), python-oslo.policy (>= 1.23.0), python-oslo.reports (>= 0.6.0), python-oslo.rootwrap (>= 5.0.0), python-oslo.serialization (>= 1.10.0), python-oslo.service (>= 1.10.0), python-oslo.utils (>= 3.20.0), python-oslo.versionedobjects (>= 1.17.0), python-oslosphinx (>= 4.7.0), python-oslotest (>= 1.10.0), python-osprofiler (>= 1.11.0), python-paramiko (>= 2.0), python-pecan (>= 1.0.0), python-psutil (>= 3.2.2), python-psycopg2 (>= 2.5), python-pymysql (>= 0.7.6), python-requests (>= 2.10.0), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.9.0), python-sphinxcontrib-pecanwsme (>= 0.8), python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1.20.0), python-swiftclient (>= 1:3.2.0), python-testresources (>= 0.2.4), python-testscenarios (>= 0.4), python-testtools (>= 1.4.0), python-tooz (>= 1.47.0), python-tz (>= 2013.6), python-webob (>= 1.7.1), python-webtest (>= 2.0), python-wsme (>= 0.8) Filtered Build-Depends: debhelper (>= 9~), dh-python, dh-systemd, openstack-pkg-tools (>= 23~), python-all, python-pbr (>= 2.0.0), python-setuptools, python-sphinx (>= 1.5.1), alembic (>= 0.8.10), python-automaton (>= 0.5.0), python-babel (>= 2.3.4), python-bashate (>= 0.2), python-cinderclient (>= 1:3.1.0), python-coverage (>= 4.0), python-eventlet (>= 0.18.2), python-fixtures (>= 3.0.0), python-futurist (>= 0.11.0), python-glanceclient (>= 1:2.8.0), python-hacking (>= 0.12.0), python-ironic-lib (>= 2.5.0), python-ironicclient (>= 1.14.0), python-iso8601 (>= 0.1.11), python-jinja2 (>= 2.8), python-jsonpatch (>= 1.1), python-jsonschema (>= 2.0.0), python-keystoneauth1 (>= 3.1.0), python-keystonemiddleware (>= 4.12.0), python-mock (>= 2.0), python-neutronclient (>= 1:6.3.0), python-openstackdocstheme (>= 1.16.0), python-os-api-ref (>= 1.0.0), python-os-testr (>= 0.8.0), python-oslo.concurrency (>= 3.8.0), python-oslo.config (>= 1:4.0.0), python-oslo.context (>= 2.14.0), python-oslo.db (>= 4.24.0), python-oslo.i18n (>= 2.1.0), python-oslo.log (>= 3.11.0), python-oslo.messaging (>= 5.24.2), python-oslo.middleware (>= 3.27.0), python-oslo.policy (>= 1.23.0), python-oslo.reports (>= 0.6.0), python-oslo.rootwrap (>= 5.0.0), python-oslo.serialization (>= 1.10.0), python-oslo.service (>= 1.10.0), python-oslo.utils (>= 3.20.0), python-oslo.versionedobjects (>= 1.17.0), python-oslosphinx (>= 4.7.0), python-oslotest (>= 1.10.0), python-osprofiler (>= 1.11.0), python-paramiko (>= 2.0), python-pecan (>= 1.0.0), python-psutil (>= 3.2.2), python-psycopg2 (>= 2.5), python-pymysql (>= 0.7.6), python-requests (>= 2.10.0), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.9.0), python-sphinxcontrib-pecanwsme (>= 0.8), python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1.20.0), python-swiftclient (>= 1:3.2.0), python-testresources (>= 0.2.4), python-testscenarios (>= 0.4), python-testtools (>= 1.4.0), python-tooz (>= 1.47.0), python-tz (>= 2013.6), python-webob (>= 1.7.1), python-webtest (>= 2.0), python-wsme (>= 0.8) dpkg-deb: building package 'sbuild-build-depends-ironic-dummy' in '/<>/resolver-wSyx2m/apt_archive/sbuild-build-depends-ironic-dummy.deb'. Ign:1 copy:/<>/resolver-wSyx2m/apt_archive ./ InRelease Get:2 copy:/<>/resolver-wSyx2m/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-wSyx2m/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-wSyx2m/apt_archive ./ Sources [872 B] Get:5 copy:/<>/resolver-wSyx2m/apt_archive ./ Packages [1192 B] Fetched 4183 B in 0s (365 kB/s) Reading package lists... Reading package lists... W: Ignoring Provides line with non-equal DepCompareOp for package python-oslo.context W: Ignoring Provides line with non-equal DepCompareOp for package python3-oslo.context +------------------------------------------------------------------------------+ | Install ironic build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following package was automatically installed and is no longer required: libustr-1.0-1 Use 'apt autoremove' to remove it. The following additional packages will be installed: alembic apt-utils autoconf automake autopkgtest autopoint autotools-dev bsdmainutils dbus debhelper dh-autoreconf dh-python dh-strip-nondeterminism dh-systemd docutils-common file formencode-i18n gettext gettext-base groff-base ieee-data intltool-debian libapt-inst2.0 libarchive-zip-perl libbsd0 libcroco3 libdbus-1-3 libdbus-glib-1-2 libencode-locale-perl libexpat1 libfile-listing-perl libfile-stripnondeterminism-perl libglib2.0-0 libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libice6 libicu57 libio-html-perl libio-socket-ssl-perl libjs-bootstrap libjs-jquery libjs-sphinxdoc libjs-underscore 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 libtimedate-perl libtool liburi-perl 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-bs4 python-cachetools python-ceilometerclient python-certifi python-cffi-backend python-chardet python-cinderclient python-cliff python-cmd2 python-concurrent.futures python-configparser python-contextlib2 python-coverage python-crypto python-cryptography python-dateutil python-dbus python-debtcollector python-decorator python-deprecation python-dnspython python-docutils python-dogpile.cache python-enum34 python-eventlet python-extras python-fasteners python-fixtures python-flake8 python-formencode python-funcsigs python-functools32 python-futurist python-glanceclient python-greenlet python-hacking python-idna python-imagesize python-ipaddr python-ipaddress python-ironic-lib python-ironicclient python-iso8601 python-jinja2 python-json-pointer python-jsonpatch python-jsonschema python-jwt python-kazoo python-keyring python-keystoneauth1 python-keystoneclient python-keystonemiddleware python-kombu python-linecache2 python-logutils python-lxml python-mako python-markupsafe python-mccabe python-migrate python-mimeparse python-minimal python-mock python-monotonic python-mox3 python-msgpack python-netaddr python-netifaces python-neutronclient python-novaclient python-oauthlib python-openssl python-openstackclient python-openstackdocstheme python-openstacksdk python-os-api-ref python-os-api-ref-common python-os-client-config python-os-testr python-osc-lib python-oslo.concurrency python-oslo.config python-oslo.context python-oslo.db python-oslo.i18n python-oslo.log python-oslo.messaging python-oslo.middleware python-oslo.policy python-oslo.reports python-oslo.rootwrap python-oslo.serialization python-oslo.service python-oslo.utils python-oslo.versionedobjects python-oslosphinx python-oslosphinx-common python-oslotest python-osprofiler python-paramiko python-paste python-pastedeploy python-pastedeploy-tpl python-pbr python-pecan python-pika python-pika-pool python-pkg-resources python-positional python-posix-ipc python-prettytable python-psutil python-psycopg2 python-pyasn1 python-pycadf python-pycodestyle python-pyflakes python-pygments python-pyinotify python-pymemcache python-pymysql python-pyparsing python-pyperclip python-redis python-repoze.lru python-requests python-requestsexceptions python-retrying python-rfc3986 python-roman python-routes python-secretstorage python-sendfile python-setuptools python-simplegeneric python-simplejson python-singledispatch python-six python-sphinx python-sphinxcontrib-pecanwsme python-sphinxcontrib.httpdomain python-sqlalchemy python-sqlparse python-statsd python-stevedore python-subunit python-swiftclient python-tempita python-tenacity python-testrepository python-testresources python-testscenarios python-testtools python-tooz python-traceback2 python-tz python-unicodecsv python-unittest2 python-urllib3 python-vine python-voluptuous python-waitress python-warlock python-webob python-webtest python-wrapt python-wsme python-yaml python-zake python-zope.interface python2.7 python2.7-minimal python3 python3-chardet python3-debian python3-extras python3-fixtures python3-linecache2 python3-mimeparse python3-minimal python3-pbr python3-pkg-resources python3-six python3-subunit python3-testrepository python3-testtools python3-traceback2 python3-unittest2 python3.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 gettext-doc libasprintf-dev libgettextpo-dev groff libdata-dump-perl libcrypt-ssleay-perl libtool-doc gfortran | fortran95-compiler gcj-jdk libauthen-ntlm-perl m4-doc wget less www-browser libmail-box-perl python-doc python-tk python-editor python-amqp-doc python-automaton-doc python-blinker-doc python-ceilometerclient-doc python-cliff-doc python-coverage-doc python-crypto-dbg python-crypto-doc python-cryptography-doc python-cryptography-vectors python-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-futurist-doc python-glanceclient-doc python-greenlet-doc python-greenlet-dev python-greenlet-dbg python-jinja2-doc 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 python-migrate-doc python-mock-doc ipython python-netaddr-docs python-openssl-doc python-openssl-dbg python-openstacksdk-doc python-os-client-config-doc python-os-testr-doc python-osc-lib-doc python-oslo.concurrency-doc python-oslo.log-doc python-kafka python-zmq python-oslo.middleware-doc python-oslo.policy-doc python-oslo.reports-doc python-oslo.service-doc python-oslo.versionedobjects-doc python-gssapi httpd-wsgi libapache2-mod-python libapache2-mod-scgi libjs-mochikit python-pastescript python-pastewebkit python-pika-doc python-positional-doc python-psutil-doc python-psycopg2-doc doc-base ttf-bitstream-vera python-pyinotify-doc python-pymysql-doc python-pyparsing-doc python-hiredis python-socks python-secretstorage-doc python-setuptools-doc python-sphinx-rtd-theme libjs-mathjax dvipng texlive-latex-extra texlive-fonts-recommended texlive-generic-extra sphinx-doc python-sqlalchemy-doc python-fdb python-pymssql python-sqlparse-doc python-tenacity-doc python-testtools-doc python-twisted python-sysv-ipc python-ntlm python-waitress-doc python-webob-doc python-webtest-doc python-pyquery python2.7-doc binfmt-support python3-doc python3-tk python3-venv python3-setuptools python3.6-venv python3.6-doc sgml-base-doc Recommended packages: autodep8 curl | wget | lynx-cur libarchive-cpio-perl libglib2.0-data shared-mime-info xdg-user-dirs libhtml-format-perl javascript-common libltdl-dev 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-pil python-keyrings.alt python-html5lib python-openid python-scgi python-pastescript python-egenix-mxdatetime 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 dbus debhelper dh-autoreconf dh-python dh-strip-nondeterminism dh-systemd docutils-common file formencode-i18n gettext gettext-base groff-base ieee-data intltool-debian libapt-inst2.0 libarchive-zip-perl libbsd0 libcroco3 libdbus-1-3 libdbus-glib-1-2 libencode-locale-perl libexpat1 libfile-listing-perl libfile-stripnondeterminism-perl libglib2.0-0 libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libice6 libicu57 libio-html-perl libio-socket-ssl-perl libjs-bootstrap libjs-jquery libjs-sphinxdoc libjs-underscore 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 libtimedate-perl libtool liburi-perl 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-bs4 python-cachetools python-ceilometerclient python-certifi python-cffi-backend python-chardet python-cinderclient python-cliff python-cmd2 python-concurrent.futures python-configparser python-contextlib2 python-coverage python-crypto python-cryptography python-dateutil python-dbus python-debtcollector python-decorator python-deprecation python-dnspython python-docutils python-dogpile.cache python-enum34 python-eventlet python-extras python-fasteners python-fixtures python-flake8 python-formencode python-funcsigs python-functools32 python-futurist python-glanceclient python-greenlet python-hacking python-idna python-imagesize python-ipaddr python-ipaddress python-ironic-lib python-ironicclient python-iso8601 python-jinja2 python-json-pointer python-jsonpatch python-jsonschema python-jwt python-kazoo python-keyring python-keystoneauth1 python-keystoneclient python-keystonemiddleware python-kombu python-linecache2 python-logutils python-lxml python-mako python-markupsafe python-mccabe python-migrate python-mimeparse python-minimal python-mock python-monotonic python-mox3 python-msgpack python-netaddr python-netifaces python-neutronclient python-novaclient python-oauthlib python-openssl python-openstackclient python-openstackdocstheme python-openstacksdk python-os-api-ref python-os-api-ref-common python-os-client-config python-os-testr python-osc-lib python-oslo.concurrency python-oslo.config python-oslo.context python-oslo.db python-oslo.i18n python-oslo.log python-oslo.messaging python-oslo.middleware python-oslo.policy python-oslo.reports python-oslo.rootwrap python-oslo.serialization python-oslo.service python-oslo.utils python-oslo.versionedobjects python-oslosphinx python-oslosphinx-common python-oslotest python-osprofiler python-paramiko python-paste python-pastedeploy python-pastedeploy-tpl python-pbr python-pecan python-pika python-pika-pool python-pkg-resources python-positional python-posix-ipc python-prettytable python-psutil python-psycopg2 python-pyasn1 python-pycadf python-pycodestyle python-pyflakes python-pygments python-pyinotify python-pymemcache python-pymysql python-pyparsing python-pyperclip python-redis python-repoze.lru python-requests python-requestsexceptions python-retrying python-rfc3986 python-roman python-routes python-secretstorage python-sendfile python-setuptools python-simplegeneric python-simplejson python-singledispatch python-six python-sphinx python-sphinxcontrib-pecanwsme python-sphinxcontrib.httpdomain python-sqlalchemy python-sqlparse python-statsd python-stevedore python-subunit python-swiftclient python-tempita python-tenacity python-testrepository python-testresources python-testscenarios python-testtools python-tooz python-traceback2 python-tz python-unicodecsv python-unittest2 python-urllib3 python-vine python-voluptuous python-waitress python-warlock python-webob python-webtest python-wrapt python-wsme python-yaml python-zake python-zope.interface python2.7 python2.7-minimal python3 python3-chardet python3-debian python3-extras python3-fixtures python3-linecache2 python3-mimeparse python3-minimal python3-pbr python3-pkg-resources python3-six python3-subunit python3-testrepository python3-testtools python3-traceback2 python3-unittest2 python3.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, 311 newly installed, 1 to remove and 0 not upgraded. Need to get 49.0 MB of archives. After this operation, 233 MB of additional disk space will be used. Get:1 copy:/<>/resolver-wSyx2m/apt_archive ./ sbuild-build-depends-ironic-dummy 0.invalid.0 [1444 B] Get:2 http://ftpmaster.internal/ubuntu artful/main amd64 libpython3.6-minimal amd64 3.6.3-1ubuntu1 [529 kB] Get:3 http://ftpmaster.internal/ubuntu artful/main amd64 libexpat1 amd64 2.2.3-1 [72.3 kB] Get:4 http://ftpmaster.internal/ubuntu artful/main amd64 python3.6-minimal amd64 3.6.3-1ubuntu1 [1422 kB] Get:5 http://ftpmaster.internal/ubuntu artful/main amd64 python3-minimal amd64 3.6.3-0ubuntu2 [23.3 kB] Get:6 http://ftpmaster.internal/ubuntu artful/main amd64 mime-support all 3.60ubuntu1 [30.1 kB] Get:7 http://ftpmaster.internal/ubuntu artful/main amd64 libmpdec2 amd64 2.4.2-1 [82.6 kB] Get:8 http://ftpmaster.internal/ubuntu artful/main amd64 libpython3.6-stdlib amd64 3.6.3-1ubuntu1 [2115 kB] Get:9 http://ftpmaster.internal/ubuntu artful/main amd64 python3.6 amd64 3.6.3-1ubuntu1 [175 kB] Get:10 http://ftpmaster.internal/ubuntu artful/main amd64 libpython3-stdlib amd64 3.6.3-0ubuntu2 [6820 B] Get:11 http://ftpmaster.internal/ubuntu artful/main amd64 dh-python all 2.20170125 [83.7 kB] Get:12 http://ftpmaster.internal/ubuntu artful/main amd64 python3 amd64 3.6.3-0ubuntu2 [8712 B] Get:13 http://ftpmaster.internal/ubuntu artful/main amd64 libxau6 amd64 1:1.0.8-1 [8376 B] Get:14 http://ftpmaster.internal/ubuntu artful/main amd64 libbsd0 amd64 0.8.6-1 [41.6 kB] Get:15 http://ftpmaster.internal/ubuntu artful/main amd64 libxdmcp6 amd64 1:1.1.2-3 [10.7 kB] Get:16 http://ftpmaster.internal/ubuntu artful/main amd64 libxcb1 amd64 1.12-1ubuntu1 [45.2 kB] Get:17 http://ftpmaster.internal/ubuntu artful/main amd64 libx11-data all 2:1.6.4-3 [114 kB] Get:18 http://ftpmaster.internal/ubuntu artful/main amd64 libx11-6 amd64 2:1.6.4-3 [572 kB] Get:19 http://ftpmaster.internal/ubuntu artful/main amd64 libxext6 amd64 2:1.3.3-1 [29.4 kB] Get:20 http://ftpmaster.internal/ubuntu artful/main amd64 groff-base amd64 1.22.3-9 [1144 kB] Get:21 http://ftpmaster.internal/ubuntu artful/main amd64 bsdmainutils amd64 9.0.12+nmu1ubuntu1 [179 kB] Get:22 http://ftpmaster.internal/ubuntu artful/main amd64 libpipeline1 amd64 1.4.2-1 [25.2 kB] Get:23 http://ftpmaster.internal/ubuntu artful/main amd64 man-db amd64 2.7.6.1-2 [895 kB] Get:24 http://ftpmaster.internal/ubuntu artful/main amd64 x11-common all 1:7.7+19ubuntu3 [22.0 kB] Get:25 http://ftpmaster.internal/ubuntu artful/main amd64 libice6 amd64 2:1.0.9-2 [40.2 kB] Get:26 http://ftpmaster.internal/ubuntu artful/main amd64 libsm6 amd64 2:1.2.2-1 [15.8 kB] Get:27 http://ftpmaster.internal/ubuntu artful/main amd64 libpython2.7-minimal amd64 2.7.14-2ubuntu2 [338 kB] Get:28 http://ftpmaster.internal/ubuntu artful/main amd64 python2.7-minimal amd64 2.7.14-2ubuntu2 [1286 kB] Get:29 http://ftpmaster.internal/ubuntu artful/main amd64 python-minimal amd64 2.7.14-2ubuntu1 [28.1 kB] Get:30 http://ftpmaster.internal/ubuntu artful/main amd64 libpython2.7-stdlib amd64 2.7.14-2ubuntu2 [1910 kB] Get:31 http://ftpmaster.internal/ubuntu artful/main amd64 python2.7 amd64 2.7.14-2ubuntu2 [233 kB] Get:32 http://ftpmaster.internal/ubuntu artful/main amd64 libpython-stdlib amd64 2.7.14-2ubuntu1 [7576 B] Get:33 http://ftpmaster.internal/ubuntu artful/main amd64 python amd64 2.7.14-2ubuntu1 [140 kB] Get:34 http://ftpmaster.internal/ubuntu artful/main amd64 python-pyparsing all 2.1.10+dfsg1-1 [51.7 kB] Get:35 http://ftpmaster.internal/ubuntu artful/main amd64 libxt6 amd64 1:1.1.5-1 [160 kB] Get:36 http://ftpmaster.internal/ubuntu artful/main amd64 libxmu6 amd64 2:1.1.2-2 [46.0 kB] Get:37 http://ftpmaster.internal/ubuntu artful/main amd64 xclip amd64 0.12+svn84-4build1 [17.5 kB] Get:38 http://ftpmaster.internal/ubuntu artful/main amd64 python-pyperclip all 1.5.27-3 [7198 B] Get:39 http://ftpmaster.internal/ubuntu artful/main amd64 python-six all 1.10.0-4 [10.8 kB] Get:40 http://ftpmaster.internal/ubuntu artful/main amd64 python-cmd2 all 0.7.4-1 [31.9 kB] Get:41 http://ftpmaster.internal/ubuntu artful/main amd64 python-extras all 0.0.3-3 [6734 B] Get:42 http://ftpmaster.internal/ubuntu artful/main amd64 python-posix-ipc amd64 0.9.8-2build4 [14.9 kB] Get:43 http://ftpmaster.internal/ubuntu artful/universe amd64 python-alabaster all 0.7.8-1 [18.4 kB] Get:44 http://ftpmaster.internal/ubuntu artful/main amd64 python-babel-localedata all 2.4.0+dfsg.1-2ubuntu1 [3412 kB] Get:45 http://ftpmaster.internal/ubuntu artful/main amd64 python-pkg-resources all 36.2.7-2 [128 kB] Get:46 http://ftpmaster.internal/ubuntu artful/main amd64 python-tz all 2017.2-2 [31.7 kB] Get:47 http://ftpmaster.internal/ubuntu artful/main amd64 python-babel all 2.4.0+dfsg.1-2ubuntu1 [80.5 kB] Get:48 http://ftpmaster.internal/ubuntu artful/main amd64 sgml-base all 1.29 [12.3 kB] Get:49 http://ftpmaster.internal/ubuntu artful/main amd64 xml-core all 0.17 [21.6 kB] Get:50 http://ftpmaster.internal/ubuntu artful/main amd64 docutils-common all 0.14+dfsg-1 [156 kB] Get:51 http://ftpmaster.internal/ubuntu artful/main amd64 python-roman all 2.0.0-2 [8062 B] Get:52 http://ftpmaster.internal/ubuntu artful/main amd64 python-docutils all 0.14+dfsg-1 [366 kB] Get:53 http://ftpmaster.internal/ubuntu artful/universe amd64 python-imagesize all 0.7.1-1 [3854 B] Get:54 http://ftpmaster.internal/ubuntu artful/main amd64 python-markupsafe amd64 1.0-1build1 [13.0 kB] Get:55 http://ftpmaster.internal/ubuntu artful/main amd64 python-jinja2 all 2.9.6-1 [107 kB] Get:56 http://ftpmaster.internal/ubuntu artful/main amd64 python-pygments all 2.2.0+dfsg-1 [577 kB] Get:57 http://ftpmaster.internal/ubuntu artful/main amd64 python-certifi all 2017.4.17-2 [177 kB] Get:58 http://ftpmaster.internal/ubuntu artful/main amd64 python-chardet all 3.0.4-1 [80.3 kB] Get:59 http://ftpmaster.internal/ubuntu artful/main amd64 python-idna all 2.5-1 [31.5 kB] Get:60 http://ftpmaster.internal/ubuntu artful/main amd64 python-urllib3 all 1.21.1-1 [84.6 kB] Get:61 http://ftpmaster.internal/ubuntu artful/main amd64 python-requests all 2.18.1-1 [57.9 kB] Get:62 http://ftpmaster.internal/ubuntu artful/main amd64 libjs-jquery all 3.1.1-2 [151 kB] Get:63 http://ftpmaster.internal/ubuntu artful/main amd64 libjs-underscore all 1.8.3~dfsg-1 [59.9 kB] Get:64 http://ftpmaster.internal/ubuntu artful/main amd64 libjs-sphinxdoc all 1.5.6-2 [78.2 kB] Get:65 http://ftpmaster.internal/ubuntu artful/main amd64 sphinx-common all 1.5.6-2 [385 kB] Get:66 http://ftpmaster.internal/ubuntu artful/universe amd64 python-sphinx all 1.5.6-2 [429 kB] Get:67 http://ftpmaster.internal/ubuntu artful/universe amd64 python-sphinxcontrib.httpdomain all 1.3.0-1 [12.2 kB] Get:68 http://ftpmaster.internal/ubuntu artful/main amd64 python-concurrent.futures all 3.1.1-1 [33.4 kB] Get:69 http://ftpmaster.internal/ubuntu artful/main amd64 python-kazoo all 2.2.1-1ubuntu1 [79.9 kB] Get:70 http://ftpmaster.internal/ubuntu artful/main amd64 python-zope.interface amd64 4.3.2-1build2 [82.2 kB] Get:71 http://ftpmaster.internal/ubuntu artful/main amd64 python-linecache2 all 1.0.0-3 [12.4 kB] Get:72 http://ftpmaster.internal/ubuntu artful/main amd64 python-traceback2 all 1.4.0-4 [16.1 kB] Get:73 http://ftpmaster.internal/ubuntu artful/main amd64 python-unittest2 all 1.1.0-6.1 [75.5 kB] Get:74 http://ftpmaster.internal/ubuntu artful/main amd64 python-mimeparse all 0.1.4-3 [5988 B] Get:75 http://ftpmaster.internal/ubuntu artful/main amd64 python-pbr all 2.0.0-0ubuntu1 [58.9 kB] Get:76 http://ftpmaster.internal/ubuntu artful/main amd64 python-testtools all 1.8.1-0ubuntu2 [110 kB] Get:77 http://ftpmaster.internal/ubuntu artful/main amd64 python-zake all 0.1.6-1 [13.9 kB] Get:78 http://ftpmaster.internal/ubuntu artful/main amd64 python3-extras all 0.0.3-3 [6672 B] Get:79 http://ftpmaster.internal/ubuntu artful-proposed/main amd64 libapt-inst2.0 amd64 1.5.1 [55.5 kB] Get:80 http://ftpmaster.internal/ubuntu artful-proposed/main amd64 apt-utils amd64 1.5.1 [207 kB] Get:81 http://ftpmaster.internal/ubuntu artful/main amd64 libdbus-1-3 amd64 1.10.22-1ubuntu1 [165 kB] Get:82 http://ftpmaster.internal/ubuntu artful/main amd64 dbus amd64 1.10.22-1ubuntu1 [144 kB] Get:83 http://ftpmaster.internal/ubuntu artful/main amd64 libmagic-mgc amd64 1:5.32-1 [184 kB] Get:84 http://ftpmaster.internal/ubuntu artful/main amd64 libmagic1 amd64 1:5.32-1 [68.4 kB] Get:85 http://ftpmaster.internal/ubuntu artful/main amd64 file amd64 1:5.32-1 [22.0 kB] Get:86 http://ftpmaster.internal/ubuntu artful/main amd64 libglib2.0-0 amd64 2.54.1-1ubuntu1 [1163 kB] Get:87 http://ftpmaster.internal/ubuntu artful-security/main amd64 libicu57 amd64 57.1-6ubuntu0.2 [7694 kB] Get:88 http://ftpmaster.internal/ubuntu artful/main amd64 libxml2 amd64 2.9.4+dfsg1-4ubuntu1 [671 kB] Get:89 http://ftpmaster.internal/ubuntu artful/main amd64 libyaml-0-2 amd64 0.1.7-2ubuntu3 [47.2 kB] Get:90 http://ftpmaster.internal/ubuntu artful/main amd64 netbase all 5.4 [12.7 kB] Get:91 http://ftpmaster.internal/ubuntu artful/main amd64 sudo amd64 1.8.20p2-1ubuntu1 [415 kB] Get:92 http://ftpmaster.internal/ubuntu artful/main amd64 gettext-base amd64 0.19.8.1-4ubuntu1 [49.4 kB] Get:93 http://ftpmaster.internal/ubuntu artful/main amd64 libdbus-glib-1-2 amd64 0.108-2 [67.1 kB] Get:94 http://ftpmaster.internal/ubuntu artful/main amd64 python-mako all 1.0.7+ds1-1 [60.1 kB] Get:95 http://ftpmaster.internal/ubuntu artful/main amd64 python-sqlalchemy all 1.1.9+ds1-0ubuntu3 [681 kB] Get:96 http://ftpmaster.internal/ubuntu artful/main amd64 python-alembic all 0.8.10-0ubuntu2 [101 kB] Get:97 http://ftpmaster.internal/ubuntu artful/main amd64 alembic all 0.8.10-0ubuntu2 [232 kB] Get:98 http://ftpmaster.internal/ubuntu artful/main amd64 libsigsegv2 amd64 2.11-1 [13.2 kB] Get:99 http://ftpmaster.internal/ubuntu artful/main amd64 m4 amd64 1.4.18-1 [197 kB] Get:100 http://ftpmaster.internal/ubuntu artful/main amd64 autoconf all 2.69-11 [322 kB] Get:101 http://ftpmaster.internal/ubuntu artful/main amd64 autotools-dev all 20161112.1 [39.5 kB] Get:102 http://ftpmaster.internal/ubuntu artful/main amd64 automake all 1:1.15-6ubuntu1 [509 kB] Get:103 http://ftpmaster.internal/ubuntu artful/main amd64 python3-pkg-resources all 36.2.7-2 [98.7 kB] Get:104 http://ftpmaster.internal/ubuntu artful/main amd64 python3-chardet all 3.0.4-1 [80.3 kB] Get:105 http://ftpmaster.internal/ubuntu artful/main amd64 python3-six all 1.10.0-4 [10.8 kB] Get:106 http://ftpmaster.internal/ubuntu artful/main amd64 python3-debian all 0.1.30 [65.3 kB] Get:107 http://ftpmaster.internal/ubuntu artful/main amd64 autopkgtest all 5.0.2 [127 kB] Get:108 http://ftpmaster.internal/ubuntu artful/main amd64 autopoint all 0.19.8.1-4ubuntu1 [412 kB] Get:109 http://ftpmaster.internal/ubuntu artful/main amd64 libtool all 2.4.6-2 [194 kB] Get:110 http://ftpmaster.internal/ubuntu artful/main amd64 dh-autoreconf all 14 [15.5 kB] Get:111 http://ftpmaster.internal/ubuntu artful/main amd64 libarchive-zip-perl all 1.59-1 [84.0 kB] Get:112 http://ftpmaster.internal/ubuntu artful/main amd64 libfile-stripnondeterminism-perl all 0.038-1 [13.3 kB] Get:113 http://ftpmaster.internal/ubuntu artful/main amd64 libtimedate-perl all 2.3000-2 [37.5 kB] Get:114 http://ftpmaster.internal/ubuntu artful/main amd64 dh-strip-nondeterminism all 0.038-1 [5026 B] Get:115 http://ftpmaster.internal/ubuntu artful/main amd64 libcroco3 amd64 0.6.12-1 [81.3 kB] Get:116 http://ftpmaster.internal/ubuntu artful/main amd64 gettext amd64 0.19.8.1-4ubuntu1 [1093 kB] Get:117 http://ftpmaster.internal/ubuntu artful/main amd64 intltool-debian all 0.35.0+20060710.4 [24.9 kB] Get:118 http://ftpmaster.internal/ubuntu artful/main amd64 po-debconf all 1.0.20 [232 kB] Get:119 http://ftpmaster.internal/ubuntu artful/main amd64 debhelper all 10.7.2ubuntu2 [877 kB] Get:120 http://ftpmaster.internal/ubuntu artful/main amd64 formencode-i18n all 1.3.0-0ubuntu5 [3382 B] Get:121 http://ftpmaster.internal/ubuntu artful/main amd64 libencode-locale-perl all 1.05-1 [12.3 kB] Get:122 http://ftpmaster.internal/ubuntu artful/main amd64 libhttp-date-perl all 6.02-1 [10.4 kB] Get:123 http://ftpmaster.internal/ubuntu artful/main amd64 libfile-listing-perl all 6.04-1 [9774 B] Get:124 http://ftpmaster.internal/ubuntu artful/main amd64 libhtml-tagset-perl all 3.20-3 [12.1 kB] Get:125 http://ftpmaster.internal/ubuntu artful/main amd64 liburi-perl all 1.72-1 [76.6 kB] Get:126 http://ftpmaster.internal/ubuntu artful/main amd64 libhtml-parser-perl amd64 3.72-3build1 [85.9 kB] Get:127 http://ftpmaster.internal/ubuntu artful/main amd64 libhtml-tree-perl all 5.03-2 [197 kB] Get:128 http://ftpmaster.internal/ubuntu artful/main amd64 libio-html-perl all 1.001-1 [14.9 kB] Get:129 http://ftpmaster.internal/ubuntu artful/main amd64 liblwp-mediatypes-perl all 6.02-1 [21.7 kB] Get:130 http://ftpmaster.internal/ubuntu artful/main amd64 libhttp-message-perl all 6.11-1 [74.3 kB] Get:131 http://ftpmaster.internal/ubuntu artful/main amd64 libhttp-cookies-perl all 6.01-1 [17.2 kB] Get:132 http://ftpmaster.internal/ubuntu artful/main amd64 libhttp-negotiate-perl all 6.00-2 [13.4 kB] Get:133 http://ftpmaster.internal/ubuntu artful/main amd64 perl-openssl-defaults amd64 3 [6818 B] Get:134 http://ftpmaster.internal/ubuntu artful/main amd64 libnet-ssleay-perl amd64 1.80-1build1 [265 kB] Get:135 http://ftpmaster.internal/ubuntu artful/main amd64 libio-socket-ssl-perl all 2.050-1 [168 kB] Get:136 http://ftpmaster.internal/ubuntu artful/main amd64 libnet-http-perl all 6.16-1 [22.6 kB] Get:137 http://ftpmaster.internal/ubuntu artful/main amd64 liblwp-protocol-https-perl all 6.07-2 [8284 B] Get:138 http://ftpmaster.internal/ubuntu artful/main amd64 libwww-robotrules-perl all 6.01-1 [14.1 kB] Get:139 http://ftpmaster.internal/ubuntu artful/main amd64 libwww-perl all 6.15-2 [135 kB] Get:140 http://ftpmaster.internal/ubuntu artful/main amd64 ieee-data all 20160613.1 [950 kB] Get:141 http://ftpmaster.internal/ubuntu artful/universe amd64 libjs-bootstrap all 3.3.7+dfsg-2 [228 kB] Get:142 http://ftpmaster.internal/ubuntu artful/main amd64 libpq5 amd64 9.6.5-1 [81.0 kB] Get:143 http://ftpmaster.internal/ubuntu artful/universe amd64 libsubunit-perl all 1.1.0-3 [6390 B] Get:144 http://ftpmaster.internal/ubuntu artful/universe amd64 libxdelta2 amd64 1.1.3-9.1ubuntu1 [47.2 kB] Get:145 http://ftpmaster.internal/ubuntu artful/main amd64 libxml-parser-perl amd64 2.44-2build3 [199 kB] Get:146 http://ftpmaster.internal/ubuntu artful/universe amd64 libxml-xpath-perl all 1.42-1 [65.8 kB] Get:147 http://ftpmaster.internal/ubuntu artful/main amd64 libxslt1.1 amd64 1.1.29-2.1ubuntu1 [149 kB] Get:148 http://ftpmaster.internal/ubuntu artful/universe amd64 madison-lite all 0.22 [13.7 kB] Get:149 http://ftpmaster.internal/ubuntu artful/universe amd64 xdelta amd64 1.1.3-9.1ubuntu1 [24.1 kB] Get:150 http://ftpmaster.internal/ubuntu artful/main amd64 xdelta3 amd64 3.0.11-dfsg-1ubuntu1 [68.9 kB] Get:151 http://ftpmaster.internal/ubuntu artful/universe amd64 pristine-tar amd64 1.41 [106 kB] Get:152 http://ftpmaster.internal/ubuntu artful/main amd64 pycadf-common all 2.6.0-0ubuntu1 [4366 B] Get:153 http://ftpmaster.internal/ubuntu artful/universe amd64 python-pyflakes all 1.5.0-0ubuntu1 [40.9 kB] Get:154 http://ftpmaster.internal/ubuntu artful/universe amd64 pyflakes all 1.5.0-0ubuntu1 [3126 B] Get:155 http://ftpmaster.internal/ubuntu artful/main amd64 python-all amd64 2.7.14-2ubuntu1 [994 B] Get:156 http://ftpmaster.internal/ubuntu artful/main amd64 python-vine all 1.1.3+dfsg-2 [14.9 kB] Get:157 http://ftpmaster.internal/ubuntu artful/main amd64 python-amqp all 2.1.4-1 [36.9 kB] Get:158 http://ftpmaster.internal/ubuntu artful/main amd64 python-anyjson all 0.3.3-1build1 [7096 B] Get:159 http://ftpmaster.internal/ubuntu artful/main amd64 python-appdirs all 1.4.3-1 [10.4 kB] Get:160 http://ftpmaster.internal/ubuntu artful/main amd64 python-asn1crypto all 0.22.0-1 [69.9 kB] Get:161 http://ftpmaster.internal/ubuntu artful/main amd64 python-funcsigs all 1.0.2-3 [13.1 kB] Get:162 http://ftpmaster.internal/ubuntu artful/main amd64 python-wrapt amd64 1.9.0-2build2 [27.4 kB] Get:163 http://ftpmaster.internal/ubuntu artful/main amd64 python-debtcollector all 1.13.0-0ubuntu1 [13.4 kB] Get:164 http://ftpmaster.internal/ubuntu artful/main amd64 python-prettytable all 0.7.2-3 [19.6 kB] Get:165 http://ftpmaster.internal/ubuntu artful/main amd64 python-automaton all 1.9.0-0ubuntu1 [15.0 kB] Get:166 http://ftpmaster.internal/ubuntu artful/universe amd64 python-bashate all 0.3.1-2 [8114 B] Get:167 http://ftpmaster.internal/ubuntu artful/main amd64 python-blinker all 1.3.dfsg2-1build1 [12.4 kB] Get:168 http://ftpmaster.internal/ubuntu artful/main amd64 python-bs4 all 4.6.0-1 [67.9 kB] Get:169 http://ftpmaster.internal/ubuntu artful/main amd64 python-cachetools all 1.1.6-1 [9196 B] Get:170 http://ftpmaster.internal/ubuntu artful/main amd64 python-cffi-backend amd64 1.9.1-2build2 [59.7 kB] Get:171 http://ftpmaster.internal/ubuntu artful/main amd64 python-iso8601 all 0.1.11-1 [12.8 kB] Get:172 http://ftpmaster.internal/ubuntu artful/main amd64 python-lxml amd64 4.0.0-1 [1120 kB] Get:173 http://ftpmaster.internal/ubuntu artful/main amd64 python-enum34 all 1.1.6-1 [34.6 kB] Get:174 http://ftpmaster.internal/ubuntu artful/main amd64 python-ipaddress all 1.0.17-1 [18.2 kB] Get:175 http://ftpmaster.internal/ubuntu artful/main amd64 python-cryptography amd64 1.9-1 [215 kB] Get:176 http://ftpmaster.internal/ubuntu artful/main amd64 python-jwt all 1.4.2-1.1 [13.6 kB] Get:177 http://ftpmaster.internal/ubuntu artful/main amd64 python-oauthlib all 2.0.1-1 [68.5 kB] Get:178 http://ftpmaster.internal/ubuntu artful/main amd64 python-positional all 1.1.1-3 [6096 B] Get:179 http://ftpmaster.internal/ubuntu artful/main amd64 python-stevedore all 1:1.25.0-0ubuntu1 [18.3 kB] Get:180 http://ftpmaster.internal/ubuntu artful/main amd64 python-keystoneauth1 all 3.1.0-0ubuntu2 [136 kB] Get:181 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.i18n all 3.17.0-0ubuntu1 [21.3 kB] Get:182 http://ftpmaster.internal/ubuntu artful/main amd64 python-msgpack amd64 0.4.8-1build2 [67.0 kB] Get:183 http://ftpmaster.internal/ubuntu artful/main amd64 python-monotonic all 1.1-2 [5262 B] Get:184 http://ftpmaster.internal/ubuntu artful/main amd64 python-netaddr all 0.7.18-2 [211 kB] Get:185 http://ftpmaster.internal/ubuntu artful/main amd64 python-netifaces amd64 0.10.4-0.1build4 [16.6 kB] Get:186 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.utils all 3.28.0-0ubuntu1 [56.1 kB] Get:187 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.serialization all 2.20.0-0ubuntu1 [14.6 kB] Get:188 http://ftpmaster.internal/ubuntu artful/main amd64 python-simplejson amd64 3.11.1-1build1 [61.1 kB] Get:189 http://ftpmaster.internal/ubuntu artful/main amd64 python-cinderclient all 1:3.1.0-0ubuntu1 [139 kB] Get:190 http://ftpmaster.internal/ubuntu artful/main amd64 python-unicodecsv all 0.14.1-1 [11.3 kB] Get:191 http://ftpmaster.internal/ubuntu artful/main amd64 python-yaml amd64 3.12-1build2 [115 kB] Get:192 http://ftpmaster.internal/ubuntu artful/main amd64 python-cliff all 2.8.0-0ubuntu1 [36.5 kB] Get:193 http://ftpmaster.internal/ubuntu artful/main amd64 python-configparser all 3.5.0-1 [59.6 kB] Get:194 http://ftpmaster.internal/ubuntu artful/main amd64 python-contextlib2 all 0.5.5-1 [10.3 kB] Get:195 http://ftpmaster.internal/ubuntu artful/universe amd64 python-coverage amd64 4.3.4+dfsg.1-1build1 [102 kB] Get:196 http://ftpmaster.internal/ubuntu artful/main amd64 python-crypto amd64 2.6.1-7build2 [245 kB] Get:197 http://ftpmaster.internal/ubuntu artful/main amd64 python-dateutil all 2.6.0-1 [59.2 kB] Get:198 http://ftpmaster.internal/ubuntu artful/main amd64 python-dbus amd64 1.2.4-1build3 [84.8 kB] Get:199 http://ftpmaster.internal/ubuntu artful/main amd64 python-decorator all 4.1.1-1 [9200 B] Get:200 http://ftpmaster.internal/ubuntu artful/main amd64 python-deprecation all 1.0.1-0ubuntu1 [7022 B] Get:201 http://ftpmaster.internal/ubuntu artful/main amd64 python-dnspython all 1.15.0-1 [84.9 kB] Get:202 http://ftpmaster.internal/ubuntu artful/main amd64 python-dogpile.cache all 0.6.2-5 [33.3 kB] Get:203 http://ftpmaster.internal/ubuntu artful/main amd64 python-greenlet amd64 0.4.11-1build2 [18.5 kB] Get:204 http://ftpmaster.internal/ubuntu artful/main amd64 python-eventlet all 0.19.0-7 [101 kB] Get:205 http://ftpmaster.internal/ubuntu artful/main amd64 python-fasteners all 0.12.0-3 [13.4 kB] Get:206 http://ftpmaster.internal/ubuntu artful/main amd64 python-fixtures all 3.0.0-2 [32.4 kB] Get:207 http://ftpmaster.internal/ubuntu artful/universe amd64 python-mccabe all 0.6.1-2 [8092 B] Get:208 http://ftpmaster.internal/ubuntu artful/main amd64 python-setuptools all 36.2.7-2 [260 kB] Get:209 http://ftpmaster.internal/ubuntu artful/universe amd64 python-pycodestyle all 2.3.1-2 [32.9 kB] Get:210 http://ftpmaster.internal/ubuntu artful/universe amd64 python-flake8 all 3.2.1-1 [48.1 kB] Get:211 http://ftpmaster.internal/ubuntu artful/main amd64 python-formencode all 1.3.0-0ubuntu5 [69.1 kB] Get:212 http://ftpmaster.internal/ubuntu artful/main amd64 python-functools32 all 3.2.3.2-3 [10.8 kB] Get:213 http://ftpmaster.internal/ubuntu artful/main amd64 python-futurist all 1.1.0-0ubuntu1 [24.0 kB] Get:214 http://ftpmaster.internal/ubuntu artful/universe amd64 python-hacking all 0.12.0-0ubuntu1 [18.9 kB] Get:215 http://ftpmaster.internal/ubuntu artful/main amd64 python-ipaddr all 2.1.11-2 [14.9 kB] Get:216 http://ftpmaster.internal/ubuntu artful/main amd64 python-rfc3986 all 0.3.1-2 [14.1 kB] Get:217 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.config all 1:4.11.0-0ubuntu1 [78.7 kB] Get:218 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.concurrency all 3.21.0-0ubuntu2 [27.2 kB] Get:219 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.context all 1:2.17.0-0ubuntu1 [11.9 kB] Get:220 http://ftpmaster.internal/ubuntu artful/main amd64 python-pyinotify all 0.9.6-1 [24.6 kB] Get:221 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.log all 3.30.0-0ubuntu1 [39.5 kB] Get:222 http://ftpmaster.internal/ubuntu artful/main amd64 python-tempita all 0.5.2-2 [13.9 kB] Get:223 http://ftpmaster.internal/ubuntu artful/main amd64 python-paste all 2.0.3+dfsg-4ubuntu1 [456 kB] Get:224 http://ftpmaster.internal/ubuntu artful/main amd64 python-pastedeploy-tpl all 1.5.2-4 [4796 B] Get:225 http://ftpmaster.internal/ubuntu artful/main amd64 python-pastedeploy all 1.5.2-4 [25.6 kB] Get:226 http://ftpmaster.internal/ubuntu artful/main amd64 python-repoze.lru all 0.6-6 [11.7 kB] Get:227 http://ftpmaster.internal/ubuntu artful/main amd64 python-routes all 2.4.1-1 [88.3 kB] Get:228 http://ftpmaster.internal/ubuntu artful/main amd64 python-webob all 1:1.7.2-0ubuntu1 [64.2 kB] Get:229 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.service all 1.25.0-0ubuntu1 [47.5 kB] Get:230 http://ftpmaster.internal/ubuntu artful/universe amd64 python-ironic-lib all 2.9.0-0ubuntu1 [33.5 kB] Get:231 http://ftpmaster.internal/ubuntu artful/main amd64 python-mock all 2.0.0-3 [47.4 kB] Get:232 http://ftpmaster.internal/ubuntu artful/main amd64 python-jsonschema all 2.5.1-6 [30.8 kB] Get:233 http://ftpmaster.internal/ubuntu artful/main amd64 python-requestsexceptions all 1.1.2-0ubuntu1 [3580 B] Get:234 http://ftpmaster.internal/ubuntu artful/main amd64 python-os-client-config all 1.28.0-0ubuntu1 [33.1 kB] Get:235 http://ftpmaster.internal/ubuntu artful/main amd64 python-osc-lib all 1.7.0-0ubuntu1 [45.2 kB] Get:236 http://ftpmaster.internal/ubuntu artful/main amd64 python-openssl all 16.2.0-1 [37.6 kB] Get:237 http://ftpmaster.internal/ubuntu artful/main amd64 python-json-pointer all 1.10-1 [7396 B] Get:238 http://ftpmaster.internal/ubuntu artful/main amd64 python-jsonpatch all 1.19+really1.16-0ubuntu1 [12.8 kB] Get:239 http://ftpmaster.internal/ubuntu artful/main amd64 python-warlock all 1.1.0-1 [5098 B] Get:240 http://ftpmaster.internal/ubuntu artful/main amd64 python-glanceclient all 1:2.8.0-0ubuntu1 [103 kB] Get:241 http://ftpmaster.internal/ubuntu artful/main amd64 python-secretstorage all 2.3.1-2 [11.8 kB] Get:242 http://ftpmaster.internal/ubuntu artful/main amd64 python-keyring all 10.4.0-1 [30.6 kB] Get:243 http://ftpmaster.internal/ubuntu artful/main amd64 python-keystoneclient all 1:3.13.0-0ubuntu1 [167 kB] Get:244 http://ftpmaster.internal/ubuntu artful/main amd64 python-neutronclient all 1:6.5.0-0ubuntu1.1 [160 kB] Get:245 http://ftpmaster.internal/ubuntu artful/main amd64 python-novaclient all 2:9.1.0-0ubuntu1 [166 kB] Get:246 http://ftpmaster.internal/ubuntu artful/main amd64 python-openstacksdk all 0.9.17-0ubuntu1 [205 kB] Get:247 http://ftpmaster.internal/ubuntu artful/main amd64 python-openstackclient all 3.12.0-0ubuntu2 [296 kB] Get:248 http://ftpmaster.internal/ubuntu artful/universe amd64 python-ironicclient all 1.16.0-0ubuntu2 [129 kB] Get:249 http://ftpmaster.internal/ubuntu artful/main amd64 python-kombu all 4.0.2+really4.0.2+dfsg-2ubuntu1 [124 kB] Get:250 http://ftpmaster.internal/ubuntu artful/main amd64 python-statsd all 3.2.1-2 [10.4 kB] Get:251 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.middleware all 3.30.0-0ubuntu1.1 [31.8 kB] Get:252 http://ftpmaster.internal/ubuntu artful/main amd64 python-pika all 0.10.0-3 [73.2 kB] Get:253 http://ftpmaster.internal/ubuntu artful/main amd64 python-pika-pool all 0.1.3-1ubuntu2 [6174 B] Get:254 http://ftpmaster.internal/ubuntu artful/main amd64 python-retrying all 1.3.3-2 [7584 B] Get:255 http://ftpmaster.internal/ubuntu artful/main amd64 python-tenacity all 3.3.0-0ubuntu1 [12.1 kB] Get:256 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.messaging all 5.30.0-0ubuntu1 [282 kB] Get:257 http://ftpmaster.internal/ubuntu artful/main amd64 python-pycadf all 2.6.0-0ubuntu1 [17.4 kB] Get:258 http://ftpmaster.internal/ubuntu artful/main amd64 python-keystonemiddleware all 4.17.0-0ubuntu1 [72.1 kB] Get:259 http://ftpmaster.internal/ubuntu artful/main amd64 python-logutils all 0.3.3-5 [16.7 kB] Get:260 http://ftpmaster.internal/ubuntu artful/main amd64 python-sqlparse all 0.2.2-1 [27.5 kB] Get:261 http://ftpmaster.internal/ubuntu artful/main amd64 python-migrate all 0.11.0-0ubuntu1 [69.8 kB] Get:262 http://ftpmaster.internal/ubuntu artful/universe amd64 python-mox3 all 0.20.0-0ubuntu1 [32.1 kB] Get:263 http://ftpmaster.internal/ubuntu artful/universe amd64 python-openstackdocstheme all 1.16.1-0ubuntu1 [838 kB] Get:264 http://ftpmaster.internal/ubuntu artful/universe amd64 python-subunit all 1.1.0-3 [60.2 kB] Get:265 http://ftpmaster.internal/ubuntu artful/universe amd64 python-testrepository all 0.0.20-2 [58.6 kB] Get:266 http://ftpmaster.internal/ubuntu artful/main amd64 python3-linecache2 all 1.0.0-3 [12.5 kB] Get:267 http://ftpmaster.internal/ubuntu artful/main amd64 python3-traceback2 all 1.4.0-4 [16.1 kB] Get:268 http://ftpmaster.internal/ubuntu artful/main amd64 python3-unittest2 all 1.1.0-6.1 [69.2 kB] Get:269 http://ftpmaster.internal/ubuntu artful/main amd64 python3-mimeparse all 0.1.4-3 [6042 B] Get:270 http://ftpmaster.internal/ubuntu artful/main amd64 python3-pbr all 2.0.0-0ubuntu1 [35.5 kB] Get:271 http://ftpmaster.internal/ubuntu artful/main amd64 python3-testtools all 1.8.1-0ubuntu2 [110 kB] Get:272 http://ftpmaster.internal/ubuntu artful/main amd64 python3-subunit all 1.1.0-3 [60.0 kB] Get:273 http://ftpmaster.internal/ubuntu artful/universe amd64 subunit all 1.1.0-3 [18.0 kB] Get:274 http://ftpmaster.internal/ubuntu artful/universe amd64 python-os-testr all 0.8.0-0ubuntu1 [27.3 kB] Get:275 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.db all 4.25.0-0ubuntu1 [109 kB] Get:276 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.policy all 1.25.1-0ubuntu1 [42.5 kB] Get:277 http://ftpmaster.internal/ubuntu artful/main amd64 python-psutil amd64 5.0.1-1build2 [108 kB] Get:278 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.reports all 1.22.0-0ubuntu1 [25.7 kB] Get:279 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.rootwrap all 5.9.0-0ubuntu1 [22.3 kB] Get:280 http://ftpmaster.internal/ubuntu artful/main amd64 python-oslo.versionedobjects all 1.26.0-0ubuntu1 [56.4 kB] Get:281 http://ftpmaster.internal/ubuntu artful/universe amd64 python-oslosphinx-common all 4.15.1-0ubuntu1 [15.0 kB] Get:282 http://ftpmaster.internal/ubuntu artful/universe amd64 python-oslosphinx all 4.15.1-0ubuntu1 [18.0 kB] Get:283 http://ftpmaster.internal/ubuntu artful/universe amd64 python-testscenarios all 0.4-4 [13.0 kB] Get:284 http://ftpmaster.internal/ubuntu artful/main amd64 python3-fixtures all 3.0.0-2 [32.4 kB] Get:285 http://ftpmaster.internal/ubuntu artful/main amd64 python3-testrepository all 0.0.20-2 [58.3 kB] Get:286 http://ftpmaster.internal/ubuntu artful/universe amd64 testrepository all 0.0.20-2 [12.1 kB] Get:287 http://ftpmaster.internal/ubuntu artful/universe amd64 python-oslotest all 1:2.17.0-0ubuntu1 [15.8 kB] Get:288 http://ftpmaster.internal/ubuntu artful/main amd64 python-ceilometerclient all 2.9.0-0ubuntu1 [64.1 kB] Get:289 http://ftpmaster.internal/ubuntu artful/main amd64 python-osprofiler all 1.11.0-0ubuntu1 [43.6 kB] Get:290 http://ftpmaster.internal/ubuntu artful/main amd64 python-pyasn1 all 0.1.9-2 [45.4 kB] Get:291 http://ftpmaster.internal/ubuntu artful/main amd64 python-paramiko all 2.0.0-1 [109 kB] Get:292 http://ftpmaster.internal/ubuntu artful/main amd64 python-simplegeneric all 0.8.1-1 [11.5 kB] Get:293 http://ftpmaster.internal/ubuntu artful/main amd64 python-singledispatch all 3.4.0.3-2 [9848 B] Get:294 http://ftpmaster.internal/ubuntu artful/main amd64 python-waitress all 1.0.1-1 [53.3 kB] Get:295 http://ftpmaster.internal/ubuntu artful/main amd64 python-webtest all 2.0.23-1ubuntu1 [27.6 kB] Get:296 http://ftpmaster.internal/ubuntu artful/main amd64 python-pecan all 1.1.2-3fakesync2 [86.5 kB] Get:297 http://ftpmaster.internal/ubuntu artful/main amd64 python-psycopg2 amd64 2.7.3-1 [154 kB] Get:298 http://ftpmaster.internal/ubuntu artful/main amd64 python-pymemcache all 1.3.2-3 [22.9 kB] Get:299 http://ftpmaster.internal/ubuntu artful/main amd64 python-pymysql all 0.7.11-1 [58.6 kB] Get:300 http://ftpmaster.internal/ubuntu artful/main amd64 python-redis all 2.10.5-4 [43.6 kB] Get:301 http://ftpmaster.internal/ubuntu artful/universe amd64 python-sendfile amd64 2.0.1-1build3 [8504 B] Get:302 http://ftpmaster.internal/ubuntu artful/universe amd64 python-sphinxcontrib-pecanwsme all 0.8.0-3 [6670 B] Get:303 http://ftpmaster.internal/ubuntu artful/universe amd64 python-testresources all 1.0.0-4 [26.2 kB] Get:304 http://ftpmaster.internal/ubuntu artful/main amd64 python-voluptuous all 0.9.3-1 [29.0 kB] Get:305 http://ftpmaster.internal/ubuntu artful/main amd64 python-tooz all 1.58.0-0ubuntu1 [46.4 kB] Get:306 http://ftpmaster.internal/ubuntu artful/main amd64 python-wsme all 0.9.2-0ubuntu2 [61.1 kB] Get:307 http://ftpmaster.internal/ubuntu artful/universe amd64 dh-systemd all 10.7.2ubuntu2 [2600 B] Get:308 http://ftpmaster.internal/ubuntu artful/universe amd64 openstack-pkg-tools all 54ubuntu3 [48.6 kB] Get:309 http://ftpmaster.internal/ubuntu artful/universe amd64 python-os-api-ref-common all 1.2.0-0ubuntu1 [53.6 kB] Get:310 http://ftpmaster.internal/ubuntu artful/universe amd64 python-os-api-ref all 1.2.0-0ubuntu1 [67.6 kB] Get:311 http://ftpmaster.internal/ubuntu artful/main amd64 python-swiftclient all 1:3.4.0-0ubuntu1 [59.6 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 49.0 MB in 3s (16.2 MB/s) (Reading database ... 12677 files and directories currently installed.) Removing pkg-create-dbgsym (0.73) ... Selecting previously unselected package libpython3.6-minimal:amd64. (Reading database ... 12668 files and directories currently installed.) Preparing to unpack .../0-libpython3.6-minimal_3.6.3-1ubuntu1_amd64.deb ... Unpacking libpython3.6-minimal:amd64 (3.6.3-1ubuntu1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../1-libexpat1_2.2.3-1_amd64.deb ... Unpacking libexpat1:amd64 (2.2.3-1) ... Selecting previously unselected package python3.6-minimal. Preparing to unpack .../2-python3.6-minimal_3.6.3-1ubuntu1_amd64.deb ... Unpacking python3.6-minimal (3.6.3-1ubuntu1) ... Selecting previously unselected package python3-minimal. Preparing to unpack .../3-python3-minimal_3.6.3-0ubuntu2_amd64.deb ... Unpacking python3-minimal (3.6.3-0ubuntu2) ... Selecting previously unselected package mime-support. Preparing to unpack .../4-mime-support_3.60ubuntu1_all.deb ... Unpacking mime-support (3.60ubuntu1) ... Selecting previously unselected package libmpdec2:amd64. Preparing to unpack .../5-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 .../6-libpython3.6-stdlib_3.6.3-1ubuntu1_amd64.deb ... Unpacking libpython3.6-stdlib:amd64 (3.6.3-1ubuntu1) ... Selecting previously unselected package python3.6. Preparing to unpack .../7-python3.6_3.6.3-1ubuntu1_amd64.deb ... Unpacking python3.6 (3.6.3-1ubuntu1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../8-libpython3-stdlib_3.6.3-0ubuntu2_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.6.3-0ubuntu2) ... Selecting previously unselected package dh-python. Preparing to unpack .../9-dh-python_2.20170125_all.deb ... Unpacking dh-python (2.20170125) ... Setting up libpython3.6-minimal:amd64 (3.6.3-1ubuntu1) ... Setting up libexpat1:amd64 (2.2.3-1) ... Setting up python3.6-minimal (3.6.3-1ubuntu1) ... Setting up python3-minimal (3.6.3-0ubuntu2) ... Selecting previously unselected package python3. (Reading database ... 13626 files and directories currently installed.) Preparing to unpack .../00-python3_3.6.3-0ubuntu2_amd64.deb ... Unpacking python3 (3.6.3-0ubuntu2) ... 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.6-1_amd64.deb ... Unpacking libbsd0:amd64 (0.8.6-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 groff-base. Preparing to unpack .../08-groff-base_1.22.3-9_amd64.deb ... Unpacking groff-base (1.22.3-9) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../09-bsdmainutils_9.0.12+nmu1ubuntu1_amd64.deb ... Unpacking bsdmainutils (9.0.12+nmu1ubuntu1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../10-libpipeline1_1.4.2-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.4.2-1) ... Selecting previously unselected package man-db. Preparing to unpack .../11-man-db_2.7.6.1-2_amd64.deb ... Unpacking man-db (2.7.6.1-2) ... Selecting previously unselected package x11-common. Preparing to unpack .../12-x11-common_1%3a7.7+19ubuntu3_all.deb ... Unpacking x11-common (1:7.7+19ubuntu3) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../13-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 .../14-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 .../15-libpython2.7-minimal_2.7.14-2ubuntu2_amd64.deb ... Unpacking libpython2.7-minimal:amd64 (2.7.14-2ubuntu2) ... Selecting previously unselected package python2.7-minimal. Preparing to unpack .../16-python2.7-minimal_2.7.14-2ubuntu2_amd64.deb ... Unpacking python2.7-minimal (2.7.14-2ubuntu2) ... Selecting previously unselected package python-minimal. Preparing to unpack .../17-python-minimal_2.7.14-2ubuntu1_amd64.deb ... Unpacking python-minimal (2.7.14-2ubuntu1) ... Selecting previously unselected package libpython2.7-stdlib:amd64. Preparing to unpack .../18-libpython2.7-stdlib_2.7.14-2ubuntu2_amd64.deb ... Unpacking libpython2.7-stdlib:amd64 (2.7.14-2ubuntu2) ... Selecting previously unselected package python2.7. Preparing to unpack .../19-python2.7_2.7.14-2ubuntu2_amd64.deb ... Unpacking python2.7 (2.7.14-2ubuntu2) ... Selecting previously unselected package libpython-stdlib:amd64. Preparing to unpack .../20-libpython-stdlib_2.7.14-2ubuntu1_amd64.deb ... Unpacking libpython-stdlib:amd64 (2.7.14-2ubuntu1) ... Setting up libpython2.7-minimal:amd64 (2.7.14-2ubuntu2) ... Setting up python2.7-minimal (2.7.14-2ubuntu2) ... Setting up python-minimal (2.7.14-2ubuntu1) ... Selecting previously unselected package python. (Reading database ... 15219 files and directories currently installed.) Preparing to unpack .../000-python_2.7.14-2ubuntu1_amd64.deb ... Unpacking python (2.7.14-2ubuntu1) ... Selecting previously unselected package python-pyparsing. Preparing to unpack .../001-python-pyparsing_2.1.10+dfsg1-1_all.deb ... Unpacking python-pyparsing (2.1.10+dfsg1-1) ... 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.5.27-3_all.deb ... Unpacking python-pyperclip (1.5.27-3) ... Selecting previously unselected package python-six. Preparing to unpack .../006-python-six_1.10.0-4_all.deb ... Unpacking python-six (1.10.0-4) ... Selecting previously unselected package python-cmd2. Preparing to unpack .../007-python-cmd2_0.7.4-1_all.deb ... Unpacking python-cmd2 (0.7.4-1) ... Selecting previously unselected package python-extras. Preparing to unpack .../008-python-extras_0.0.3-3_all.deb ... Unpacking python-extras (0.0.3-3) ... Selecting previously unselected package python-posix-ipc. Preparing to unpack .../009-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 .../010-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 .../011-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 .../012-python-pkg-resources_36.2.7-2_all.deb ... Unpacking python-pkg-resources (36.2.7-2) ... Selecting previously unselected package python-tz. Preparing to unpack .../013-python-tz_2017.2-2_all.deb ... Unpacking python-tz (2017.2-2) ... Selecting previously unselected package python-babel. Preparing to unpack .../014-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 .../015-sgml-base_1.29_all.deb ... Unpacking sgml-base (1.29) ... Selecting previously unselected package xml-core. Preparing to unpack .../016-xml-core_0.17_all.deb ... Unpacking xml-core (0.17) ... Selecting previously unselected package docutils-common. Preparing to unpack .../017-docutils-common_0.14+dfsg-1_all.deb ... Unpacking docutils-common (0.14+dfsg-1) ... Selecting previously unselected package python-roman. Preparing to unpack .../018-python-roman_2.0.0-2_all.deb ... Unpacking python-roman (2.0.0-2) ... Selecting previously unselected package python-docutils. Preparing to unpack .../019-python-docutils_0.14+dfsg-1_all.deb ... Unpacking python-docutils (0.14+dfsg-1) ... Selecting previously unselected package python-imagesize. Preparing to unpack .../020-python-imagesize_0.7.1-1_all.deb ... Unpacking python-imagesize (0.7.1-1) ... Selecting previously unselected package python-markupsafe. Preparing to unpack .../021-python-markupsafe_1.0-1build1_amd64.deb ... Unpacking python-markupsafe (1.0-1build1) ... Selecting previously unselected package python-jinja2. Preparing to unpack .../022-python-jinja2_2.9.6-1_all.deb ... Unpacking python-jinja2 (2.9.6-1) ... Selecting previously unselected package python-pygments. Preparing to unpack .../023-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 .../024-python-certifi_2017.4.17-2_all.deb ... Unpacking python-certifi (2017.4.17-2) ... Selecting previously unselected package python-chardet. Preparing to unpack .../025-python-chardet_3.0.4-1_all.deb ... Unpacking python-chardet (3.0.4-1) ... Selecting previously unselected package python-idna. Preparing to unpack .../026-python-idna_2.5-1_all.deb ... Unpacking python-idna (2.5-1) ... Selecting previously unselected package python-urllib3. Preparing to unpack .../027-python-urllib3_1.21.1-1_all.deb ... Unpacking python-urllib3 (1.21.1-1) ... Selecting previously unselected package python-requests. Preparing to unpack .../028-python-requests_2.18.1-1_all.deb ... Unpacking python-requests (2.18.1-1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../029-libjs-jquery_3.1.1-2_all.deb ... Unpacking libjs-jquery (3.1.1-2) ... 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.5.6-2_all.deb ... Unpacking libjs-sphinxdoc (1.5.6-2) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../032-sphinx-common_1.5.6-2_all.deb ... Unpacking sphinx-common (1.5.6-2) ... Selecting previously unselected package python-sphinx. Preparing to unpack .../033-python-sphinx_1.5.6-2_all.deb ... Unpacking python-sphinx (1.5.6-2) ... Selecting previously unselected package python-sphinxcontrib.httpdomain. Preparing to unpack .../034-python-sphinxcontrib.httpdomain_1.3.0-1_all.deb ... Unpacking python-sphinxcontrib.httpdomain (1.3.0-1) ... Selecting previously unselected package python-concurrent.futures. Preparing to unpack .../035-python-concurrent.futures_3.1.1-1_all.deb ... Unpacking python-concurrent.futures (3.1.1-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-linecache2. Preparing to unpack .../038-python-linecache2_1.0.0-3_all.deb ... Unpacking python-linecache2 (1.0.0-3) ... Selecting previously unselected package python-traceback2. Preparing to unpack .../039-python-traceback2_1.4.0-4_all.deb ... Unpacking python-traceback2 (1.4.0-4) ... Selecting previously unselected package python-unittest2. Preparing to unpack .../040-python-unittest2_1.1.0-6.1_all.deb ... Unpacking python-unittest2 (1.1.0-6.1) ... Selecting previously unselected package python-mimeparse. Preparing to unpack .../041-python-mimeparse_0.1.4-3_all.deb ... Unpacking python-mimeparse (0.1.4-3) ... Selecting previously unselected package python-pbr. Preparing to unpack .../042-python-pbr_2.0.0-0ubuntu1_all.deb ... Unpacking python-pbr (2.0.0-0ubuntu1) ... Selecting previously unselected package python-testtools. Preparing to unpack .../043-python-testtools_1.8.1-0ubuntu2_all.deb ... Unpacking python-testtools (1.8.1-0ubuntu2) ... Selecting previously unselected package python-zake. Preparing to unpack .../044-python-zake_0.1.6-1_all.deb ... Unpacking python-zake (0.1.6-1) ... Selecting previously unselected package python3-extras. Preparing to unpack .../045-python3-extras_0.0.3-3_all.deb ... Unpacking python3-extras (0.0.3-3) ... Selecting previously unselected package libapt-inst2.0:amd64. Preparing to unpack .../046-libapt-inst2.0_1.5.1_amd64.deb ... Unpacking libapt-inst2.0:amd64 (1.5.1) ... Selecting previously unselected package apt-utils. Preparing to unpack .../047-apt-utils_1.5.1_amd64.deb ... Unpacking apt-utils (1.5.1) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../048-libdbus-1-3_1.10.22-1ubuntu1_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.10.22-1ubuntu1) ... Selecting previously unselected package dbus. Preparing to unpack .../049-dbus_1.10.22-1ubuntu1_amd64.deb ... Unpacking dbus (1.10.22-1ubuntu1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../050-libmagic-mgc_1%3a5.32-1_amd64.deb ... Unpacking libmagic-mgc (1:5.32-1) ... Selecting previously unselected package libmagic1:amd64. Preparing to unpack .../051-libmagic1_1%3a5.32-1_amd64.deb ... Unpacking libmagic1:amd64 (1:5.32-1) ... Selecting previously unselected package file. Preparing to unpack .../052-file_1%3a5.32-1_amd64.deb ... Unpacking file (1:5.32-1) ... Selecting previously unselected package libglib2.0-0:amd64. Preparing to unpack .../053-libglib2.0-0_2.54.1-1ubuntu1_amd64.deb ... Unpacking libglib2.0-0:amd64 (2.54.1-1ubuntu1) ... Selecting previously unselected package libicu57:amd64. Preparing to unpack .../054-libicu57_57.1-6ubuntu0.2_amd64.deb ... Unpacking libicu57:amd64 (57.1-6ubuntu0.2) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../055-libxml2_2.9.4+dfsg1-4ubuntu1_amd64.deb ... Unpacking libxml2:amd64 (2.9.4+dfsg1-4ubuntu1) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../056-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 .../057-netbase_5.4_all.deb ... Unpacking netbase (5.4) ... Selecting previously unselected package sudo. Preparing to unpack .../058-sudo_1.8.20p2-1ubuntu1_amd64.deb ... Unpacking sudo (1.8.20p2-1ubuntu1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../059-gettext-base_0.19.8.1-4ubuntu1_amd64.deb ... Unpacking gettext-base (0.19.8.1-4ubuntu1) ... Selecting previously unselected package libdbus-glib-1-2:amd64. Preparing to unpack .../060-libdbus-glib-1-2_0.108-2_amd64.deb ... Unpacking libdbus-glib-1-2:amd64 (0.108-2) ... Selecting previously unselected package python-mako. Preparing to unpack .../061-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 .../062-python-sqlalchemy_1.1.9+ds1-0ubuntu3_all.deb ... Unpacking python-sqlalchemy (1.1.9+ds1-0ubuntu3) ... Selecting previously unselected package python-alembic. Preparing to unpack .../063-python-alembic_0.8.10-0ubuntu2_all.deb ... Unpacking python-alembic (0.8.10-0ubuntu2) ... Selecting previously unselected package alembic. Preparing to unpack .../064-alembic_0.8.10-0ubuntu2_all.deb ... Unpacking alembic (0.8.10-0ubuntu2) ... Selecting previously unselected package libsigsegv2:amd64. Preparing to unpack .../065-libsigsegv2_2.11-1_amd64.deb ... Unpacking libsigsegv2:amd64 (2.11-1) ... Selecting previously unselected package m4. Preparing to unpack .../066-m4_1.4.18-1_amd64.deb ... Unpacking m4 (1.4.18-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../067-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../068-autotools-dev_20161112.1_all.deb ... Unpacking autotools-dev (20161112.1) ... Selecting previously unselected package automake. Preparing to unpack .../069-automake_1%3a1.15-6ubuntu1_all.deb ... Unpacking automake (1:1.15-6ubuntu1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../070-python3-pkg-resources_36.2.7-2_all.deb ... Unpacking python3-pkg-resources (36.2.7-2) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../071-python3-chardet_3.0.4-1_all.deb ... Unpacking python3-chardet (3.0.4-1) ... Selecting previously unselected package python3-six. Preparing to unpack .../072-python3-six_1.10.0-4_all.deb ... Unpacking python3-six (1.10.0-4) ... Selecting previously unselected package python3-debian. Preparing to unpack .../073-python3-debian_0.1.30_all.deb ... Unpacking python3-debian (0.1.30) ... Selecting previously unselected package autopkgtest. Preparing to unpack .../074-autopkgtest_5.0.2_all.deb ... Unpacking autopkgtest (5.0.2) ... Selecting previously unselected package autopoint. Preparing to unpack .../075-autopoint_0.19.8.1-4ubuntu1_all.deb ... Unpacking autopoint (0.19.8.1-4ubuntu1) ... Selecting previously unselected package libtool. Preparing to unpack .../076-libtool_2.4.6-2_all.deb ... Unpacking libtool (2.4.6-2) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../077-dh-autoreconf_14_all.deb ... Unpacking dh-autoreconf (14) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../078-libarchive-zip-perl_1.59-1_all.deb ... Unpacking libarchive-zip-perl (1.59-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../079-libfile-stripnondeterminism-perl_0.038-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (0.038-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../080-libtimedate-perl_2.3000-2_all.deb ... Unpacking libtimedate-perl (2.3000-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../081-dh-strip-nondeterminism_0.038-1_all.deb ... Unpacking dh-strip-nondeterminism (0.038-1) ... Selecting previously unselected package libcroco3:amd64. Preparing to unpack .../082-libcroco3_0.6.12-1_amd64.deb ... Unpacking libcroco3:amd64 (0.6.12-1) ... Selecting previously unselected package gettext. Preparing to unpack .../083-gettext_0.19.8.1-4ubuntu1_amd64.deb ... Unpacking gettext (0.19.8.1-4ubuntu1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../084-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 .../085-po-debconf_1.0.20_all.deb ... Unpacking po-debconf (1.0.20) ... Selecting previously unselected package debhelper. Preparing to unpack .../086-debhelper_10.7.2ubuntu2_all.deb ... Unpacking debhelper (10.7.2ubuntu2) ... Selecting previously unselected package formencode-i18n. Preparing to unpack .../087-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 .../088-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 .../089-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 .../090-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 .../091-libhtml-tagset-perl_3.20-3_all.deb ... Unpacking libhtml-tagset-perl (3.20-3) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../092-liburi-perl_1.72-1_all.deb ... Unpacking liburi-perl (1.72-1) ... Selecting previously unselected package libhtml-parser-perl. Preparing to unpack .../093-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 .../094-libhtml-tree-perl_5.03-2_all.deb ... Unpacking libhtml-tree-perl (5.03-2) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../095-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 .../096-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 .../097-libhttp-message-perl_6.11-1_all.deb ... Unpacking libhttp-message-perl (6.11-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../098-libhttp-cookies-perl_6.01-1_all.deb ... Unpacking libhttp-cookies-perl (6.01-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../099-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 .../100-perl-openssl-defaults_3_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (3) ... Selecting previously unselected package libnet-ssleay-perl. Preparing to unpack .../101-libnet-ssleay-perl_1.80-1build1_amd64.deb ... Unpacking libnet-ssleay-perl (1.80-1build1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../102-libio-socket-ssl-perl_2.050-1_all.deb ... Unpacking libio-socket-ssl-perl (2.050-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../103-libnet-http-perl_6.16-1_all.deb ... Unpacking libnet-http-perl (6.16-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../104-liblwp-protocol-https-perl_6.07-2_all.deb ... Unpacking liblwp-protocol-https-perl (6.07-2) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../105-libwww-robotrules-perl_6.01-1_all.deb ... Unpacking libwww-robotrules-perl (6.01-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../106-libwww-perl_6.15-2_all.deb ... Unpacking libwww-perl (6.15-2) ... Selecting previously unselected package ieee-data. Preparing to unpack .../107-ieee-data_20160613.1_all.deb ... Unpacking ieee-data (20160613.1) ... Selecting previously unselected package libjs-bootstrap. Preparing to unpack .../108-libjs-bootstrap_3.3.7+dfsg-2_all.deb ... Unpacking libjs-bootstrap (3.3.7+dfsg-2) ... Selecting previously unselected package libpq5:amd64. Preparing to unpack .../109-libpq5_9.6.5-1_amd64.deb ... Unpacking libpq5:amd64 (9.6.5-1) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../110-libsubunit-perl_1.1.0-3_all.deb ... Unpacking libsubunit-perl (1.1.0-3) ... Selecting previously unselected package libxdelta2. Preparing to unpack .../111-libxdelta2_1.1.3-9.1ubuntu1_amd64.deb ... Unpacking libxdelta2 (1.1.3-9.1ubuntu1) ... Selecting previously unselected package libxml-parser-perl. Preparing to unpack .../112-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 .../113-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 .../114-libxslt1.1_1.1.29-2.1ubuntu1_amd64.deb ... Unpacking libxslt1.1:amd64 (1.1.29-2.1ubuntu1) ... Selecting previously unselected package madison-lite. Preparing to unpack .../115-madison-lite_0.22_all.deb ... Unpacking madison-lite (0.22) ... Selecting previously unselected package xdelta. Preparing to unpack .../116-xdelta_1.1.3-9.1ubuntu1_amd64.deb ... Unpacking xdelta (1.1.3-9.1ubuntu1) ... Selecting previously unselected package xdelta3. Preparing to unpack .../117-xdelta3_3.0.11-dfsg-1ubuntu1_amd64.deb ... Unpacking xdelta3 (3.0.11-dfsg-1ubuntu1) ... Selecting previously unselected package pristine-tar. Preparing to unpack .../118-pristine-tar_1.41_amd64.deb ... Unpacking pristine-tar (1.41) ... Selecting previously unselected package pycadf-common. Preparing to unpack .../119-pycadf-common_2.6.0-0ubuntu1_all.deb ... Unpacking pycadf-common (2.6.0-0ubuntu1) ... Selecting previously unselected package python-pyflakes. Preparing to unpack .../120-python-pyflakes_1.5.0-0ubuntu1_all.deb ... Unpacking python-pyflakes (1.5.0-0ubuntu1) ... Selecting previously unselected package pyflakes. Preparing to unpack .../121-pyflakes_1.5.0-0ubuntu1_all.deb ... Unpacking pyflakes (1.5.0-0ubuntu1) ... Selecting previously unselected package python-all. Preparing to unpack .../122-python-all_2.7.14-2ubuntu1_amd64.deb ... Unpacking python-all (2.7.14-2ubuntu1) ... Selecting previously unselected package python-vine. Preparing to unpack .../123-python-vine_1.1.3+dfsg-2_all.deb ... Unpacking python-vine (1.1.3+dfsg-2) ... Selecting previously unselected package python-amqp. Preparing to unpack .../124-python-amqp_2.1.4-1_all.deb ... Unpacking python-amqp (2.1.4-1) ... Selecting previously unselected package python-anyjson. Preparing to unpack .../125-python-anyjson_0.3.3-1build1_all.deb ... Unpacking python-anyjson (0.3.3-1build1) ... Selecting previously unselected package python-appdirs. Preparing to unpack .../126-python-appdirs_1.4.3-1_all.deb ... Unpacking python-appdirs (1.4.3-1) ... Selecting previously unselected package python-asn1crypto. Preparing to unpack .../127-python-asn1crypto_0.22.0-1_all.deb ... Unpacking python-asn1crypto (0.22.0-1) ... Selecting previously unselected package python-funcsigs. Preparing to unpack .../128-python-funcsigs_1.0.2-3_all.deb ... Unpacking python-funcsigs (1.0.2-3) ... Selecting previously unselected package python-wrapt. Preparing to unpack .../129-python-wrapt_1.9.0-2build2_amd64.deb ... Unpacking python-wrapt (1.9.0-2build2) ... Selecting previously unselected package python-debtcollector. Preparing to unpack .../130-python-debtcollector_1.13.0-0ubuntu1_all.deb ... Unpacking python-debtcollector (1.13.0-0ubuntu1) ... Selecting previously unselected package python-prettytable. Preparing to unpack .../131-python-prettytable_0.7.2-3_all.deb ... Unpacking python-prettytable (0.7.2-3) ... Selecting previously unselected package python-automaton. Preparing to unpack .../132-python-automaton_1.9.0-0ubuntu1_all.deb ... Unpacking python-automaton (1.9.0-0ubuntu1) ... Selecting previously unselected package python-bashate. Preparing to unpack .../133-python-bashate_0.3.1-2_all.deb ... Unpacking python-bashate (0.3.1-2) ... Selecting previously unselected package python-blinker. Preparing to unpack .../134-python-blinker_1.3.dfsg2-1build1_all.deb ... Unpacking python-blinker (1.3.dfsg2-1build1) ... Selecting previously unselected package python-bs4. Preparing to unpack .../135-python-bs4_4.6.0-1_all.deb ... Unpacking python-bs4 (4.6.0-1) ... Selecting previously unselected package python-cachetools. Preparing to unpack .../136-python-cachetools_1.1.6-1_all.deb ... Unpacking python-cachetools (1.1.6-1) ... Selecting previously unselected package python-cffi-backend. Preparing to unpack .../137-python-cffi-backend_1.9.1-2build2_amd64.deb ... Unpacking python-cffi-backend (1.9.1-2build2) ... Selecting previously unselected package python-iso8601. Preparing to unpack .../138-python-iso8601_0.1.11-1_all.deb ... Unpacking python-iso8601 (0.1.11-1) ... Selecting previously unselected package python-lxml. Preparing to unpack .../139-python-lxml_4.0.0-1_amd64.deb ... Unpacking python-lxml (4.0.0-1) ... Selecting previously unselected package python-enum34. Preparing to unpack .../140-python-enum34_1.1.6-1_all.deb ... Unpacking python-enum34 (1.1.6-1) ... Selecting previously unselected package python-ipaddress. Preparing to unpack .../141-python-ipaddress_1.0.17-1_all.deb ... Unpacking python-ipaddress (1.0.17-1) ... Selecting previously unselected package python-cryptography. Preparing to unpack .../142-python-cryptography_1.9-1_amd64.deb ... Unpacking python-cryptography (1.9-1) ... Selecting previously unselected package python-jwt. Preparing to unpack .../143-python-jwt_1.4.2-1.1_all.deb ... Unpacking python-jwt (1.4.2-1.1) ... Selecting previously unselected package python-oauthlib. Preparing to unpack .../144-python-oauthlib_2.0.1-1_all.deb ... Unpacking python-oauthlib (2.0.1-1) ... Selecting previously unselected package python-positional. Preparing to unpack .../145-python-positional_1.1.1-3_all.deb ... Unpacking python-positional (1.1.1-3) ... Selecting previously unselected package python-stevedore. Preparing to unpack .../146-python-stevedore_1%3a1.25.0-0ubuntu1_all.deb ... Unpacking python-stevedore (1:1.25.0-0ubuntu1) ... Selecting previously unselected package python-keystoneauth1. Preparing to unpack .../147-python-keystoneauth1_3.1.0-0ubuntu2_all.deb ... Unpacking python-keystoneauth1 (3.1.0-0ubuntu2) ... Selecting previously unselected package python-oslo.i18n. Preparing to unpack .../148-python-oslo.i18n_3.17.0-0ubuntu1_all.deb ... Unpacking python-oslo.i18n (3.17.0-0ubuntu1) ... Selecting previously unselected package python-msgpack. Preparing to unpack .../149-python-msgpack_0.4.8-1build2_amd64.deb ... Unpacking python-msgpack (0.4.8-1build2) ... Selecting previously unselected package python-monotonic. Preparing to unpack .../150-python-monotonic_1.1-2_all.deb ... Unpacking python-monotonic (1.1-2) ... Selecting previously unselected package python-netaddr. Preparing to unpack .../151-python-netaddr_0.7.18-2_all.deb ... Unpacking python-netaddr (0.7.18-2) ... Selecting previously unselected package python-netifaces. Preparing to unpack .../152-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 .../153-python-oslo.utils_3.28.0-0ubuntu1_all.deb ... Unpacking python-oslo.utils (3.28.0-0ubuntu1) ... Selecting previously unselected package python-oslo.serialization. Preparing to unpack .../154-python-oslo.serialization_2.20.0-0ubuntu1_all.deb ... Unpacking python-oslo.serialization (2.20.0-0ubuntu1) ... Selecting previously unselected package python-simplejson. Preparing to unpack .../155-python-simplejson_3.11.1-1build1_amd64.deb ... Unpacking python-simplejson (3.11.1-1build1) ... Selecting previously unselected package python-cinderclient. Preparing to unpack .../156-python-cinderclient_1%3a3.1.0-0ubuntu1_all.deb ... Unpacking python-cinderclient (1:3.1.0-0ubuntu1) ... Selecting previously unselected package python-unicodecsv. Preparing to unpack .../157-python-unicodecsv_0.14.1-1_all.deb ... Unpacking python-unicodecsv (0.14.1-1) ... Selecting previously unselected package python-yaml. Preparing to unpack .../158-python-yaml_3.12-1build2_amd64.deb ... Unpacking python-yaml (3.12-1build2) ... Selecting previously unselected package python-cliff. Preparing to unpack .../159-python-cliff_2.8.0-0ubuntu1_all.deb ... Unpacking python-cliff (2.8.0-0ubuntu1) ... Selecting previously unselected package python-configparser. Preparing to unpack .../160-python-configparser_3.5.0-1_all.deb ... Unpacking python-configparser (3.5.0-1) ... Selecting previously unselected package python-contextlib2. Preparing to unpack .../161-python-contextlib2_0.5.5-1_all.deb ... Unpacking python-contextlib2 (0.5.5-1) ... Selecting previously unselected package python-coverage. Preparing to unpack .../162-python-coverage_4.3.4+dfsg.1-1build1_amd64.deb ... Unpacking python-coverage (4.3.4+dfsg.1-1build1) ... Selecting previously unselected package python-crypto. Preparing to unpack .../163-python-crypto_2.6.1-7build2_amd64.deb ... Unpacking python-crypto (2.6.1-7build2) ... Selecting previously unselected package python-dateutil. Preparing to unpack .../164-python-dateutil_2.6.0-1_all.deb ... Unpacking python-dateutil (2.6.0-1) ... Selecting previously unselected package python-dbus. Preparing to unpack .../165-python-dbus_1.2.4-1build3_amd64.deb ... Unpacking python-dbus (1.2.4-1build3) ... Selecting previously unselected package python-decorator. Preparing to unpack .../166-python-decorator_4.1.1-1_all.deb ... Unpacking python-decorator (4.1.1-1) ... Selecting previously unselected package python-deprecation. Preparing to unpack .../167-python-deprecation_1.0.1-0ubuntu1_all.deb ... Unpacking python-deprecation (1.0.1-0ubuntu1) ... Selecting previously unselected package python-dnspython. Preparing to unpack .../168-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 .../169-python-dogpile.cache_0.6.2-5_all.deb ... Unpacking python-dogpile.cache (0.6.2-5) ... Selecting previously unselected package python-greenlet. Preparing to unpack .../170-python-greenlet_0.4.11-1build2_amd64.deb ... Unpacking python-greenlet (0.4.11-1build2) ... Selecting previously unselected package python-eventlet. Preparing to unpack .../171-python-eventlet_0.19.0-7_all.deb ... Unpacking python-eventlet (0.19.0-7) ... Selecting previously unselected package python-fasteners. Preparing to unpack .../172-python-fasteners_0.12.0-3_all.deb ... Unpacking python-fasteners (0.12.0-3) ... Selecting previously unselected package python-fixtures. Preparing to unpack .../173-python-fixtures_3.0.0-2_all.deb ... Unpacking python-fixtures (3.0.0-2) ... Selecting previously unselected package python-mccabe. Preparing to unpack .../174-python-mccabe_0.6.1-2_all.deb ... Unpacking python-mccabe (0.6.1-2) ... Selecting previously unselected package python-setuptools. Preparing to unpack .../175-python-setuptools_36.2.7-2_all.deb ... Unpacking python-setuptools (36.2.7-2) ... Selecting previously unselected package python-pycodestyle. Preparing to unpack .../176-python-pycodestyle_2.3.1-2_all.deb ... Unpacking python-pycodestyle (2.3.1-2) ... Selecting previously unselected package python-flake8. Preparing to unpack .../177-python-flake8_3.2.1-1_all.deb ... Unpacking python-flake8 (3.2.1-1) ... Selecting previously unselected package python-formencode. Preparing to unpack .../178-python-formencode_1.3.0-0ubuntu5_all.deb ... Unpacking python-formencode (1.3.0-0ubuntu5) ... Selecting previously unselected package python-functools32. Preparing to unpack .../179-python-functools32_3.2.3.2-3_all.deb ... Unpacking python-functools32 (3.2.3.2-3) ... Selecting previously unselected package python-futurist. Preparing to unpack .../180-python-futurist_1.1.0-0ubuntu1_all.deb ... Unpacking python-futurist (1.1.0-0ubuntu1) ... Selecting previously unselected package python-hacking. Preparing to unpack .../181-python-hacking_0.12.0-0ubuntu1_all.deb ... Unpacking python-hacking (0.12.0-0ubuntu1) ... Selecting previously unselected package python-ipaddr. Preparing to unpack .../182-python-ipaddr_2.1.11-2_all.deb ... Unpacking python-ipaddr (2.1.11-2) ... Selecting previously unselected package python-rfc3986. Preparing to unpack .../183-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 .../184-python-oslo.config_1%3a4.11.0-0ubuntu1_all.deb ... Unpacking python-oslo.config (1:4.11.0-0ubuntu1) ... Selecting previously unselected package python-oslo.concurrency. Preparing to unpack .../185-python-oslo.concurrency_3.21.0-0ubuntu2_all.deb ... Unpacking python-oslo.concurrency (3.21.0-0ubuntu2) ... Selecting previously unselected package python-oslo.context. Preparing to unpack .../186-python-oslo.context_1%3a2.17.0-0ubuntu1_all.deb ... Unpacking python-oslo.context (1:2.17.0-0ubuntu1) ... Selecting previously unselected package python-pyinotify. Preparing to unpack .../187-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 .../188-python-oslo.log_3.30.0-0ubuntu1_all.deb ... Unpacking python-oslo.log (3.30.0-0ubuntu1) ... Selecting previously unselected package python-tempita. Preparing to unpack .../189-python-tempita_0.5.2-2_all.deb ... Unpacking python-tempita (0.5.2-2) ... Selecting previously unselected package python-paste. Preparing to unpack .../190-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 .../191-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 .../192-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 .../193-python-repoze.lru_0.6-6_all.deb ... Unpacking python-repoze.lru (0.6-6) ... Selecting previously unselected package python-routes. Preparing to unpack .../194-python-routes_2.4.1-1_all.deb ... Unpacking python-routes (2.4.1-1) ... Selecting previously unselected package python-webob. Preparing to unpack .../195-python-webob_1%3a1.7.2-0ubuntu1_all.deb ... Unpacking python-webob (1:1.7.2-0ubuntu1) ... Selecting previously unselected package python-oslo.service. Preparing to unpack .../196-python-oslo.service_1.25.0-0ubuntu1_all.deb ... Unpacking python-oslo.service (1.25.0-0ubuntu1) ... Selecting previously unselected package python-ironic-lib. Preparing to unpack .../197-python-ironic-lib_2.9.0-0ubuntu1_all.deb ... Unpacking python-ironic-lib (2.9.0-0ubuntu1) ... Selecting previously unselected package python-mock. Preparing to unpack .../198-python-mock_2.0.0-3_all.deb ... Unpacking python-mock (2.0.0-3) ... Selecting previously unselected package python-jsonschema. Preparing to unpack .../199-python-jsonschema_2.5.1-6_all.deb ... Unpacking python-jsonschema (2.5.1-6) ... Selecting previously unselected package python-requestsexceptions. Preparing to unpack .../200-python-requestsexceptions_1.1.2-0ubuntu1_all.deb ... Unpacking python-requestsexceptions (1.1.2-0ubuntu1) ... Selecting previously unselected package python-os-client-config. Preparing to unpack .../201-python-os-client-config_1.28.0-0ubuntu1_all.deb ... Unpacking python-os-client-config (1.28.0-0ubuntu1) ... Selecting previously unselected package python-osc-lib. Preparing to unpack .../202-python-osc-lib_1.7.0-0ubuntu1_all.deb ... Unpacking python-osc-lib (1.7.0-0ubuntu1) ... Selecting previously unselected package python-openssl. Preparing to unpack .../203-python-openssl_16.2.0-1_all.deb ... Unpacking python-openssl (16.2.0-1) ... Selecting previously unselected package python-json-pointer. Preparing to unpack .../204-python-json-pointer_1.10-1_all.deb ... Unpacking python-json-pointer (1.10-1) ... Selecting previously unselected package python-jsonpatch. Preparing to unpack .../205-python-jsonpatch_1.19+really1.16-0ubuntu1_all.deb ... Unpacking python-jsonpatch (1.19+really1.16-0ubuntu1) ... Selecting previously unselected package python-warlock. Preparing to unpack .../206-python-warlock_1.1.0-1_all.deb ... Unpacking python-warlock (1.1.0-1) ... Selecting previously unselected package python-glanceclient. Preparing to unpack .../207-python-glanceclient_1%3a2.8.0-0ubuntu1_all.deb ... Unpacking python-glanceclient (1:2.8.0-0ubuntu1) ... Selecting previously unselected package python-secretstorage. Preparing to unpack .../208-python-secretstorage_2.3.1-2_all.deb ... Unpacking python-secretstorage (2.3.1-2) ... Selecting previously unselected package python-keyring. Preparing to unpack .../209-python-keyring_10.4.0-1_all.deb ... Unpacking python-keyring (10.4.0-1) ... Selecting previously unselected package python-keystoneclient. Preparing to unpack .../210-python-keystoneclient_1%3a3.13.0-0ubuntu1_all.deb ... Unpacking python-keystoneclient (1:3.13.0-0ubuntu1) ... Selecting previously unselected package python-neutronclient. Preparing to unpack .../211-python-neutronclient_1%3a6.5.0-0ubuntu1.1_all.deb ... Unpacking python-neutronclient (1:6.5.0-0ubuntu1.1) ... Selecting previously unselected package python-novaclient. Preparing to unpack .../212-python-novaclient_2%3a9.1.0-0ubuntu1_all.deb ... Unpacking python-novaclient (2:9.1.0-0ubuntu1) ... Selecting previously unselected package python-openstacksdk. Preparing to unpack .../213-python-openstacksdk_0.9.17-0ubuntu1_all.deb ... Unpacking python-openstacksdk (0.9.17-0ubuntu1) ... Selecting previously unselected package python-openstackclient. Preparing to unpack .../214-python-openstackclient_3.12.0-0ubuntu2_all.deb ... Unpacking python-openstackclient (3.12.0-0ubuntu2) ... Selecting previously unselected package python-ironicclient. Preparing to unpack .../215-python-ironicclient_1.16.0-0ubuntu2_all.deb ... Unpacking python-ironicclient (1.16.0-0ubuntu2) ... Selecting previously unselected package python-kombu. Preparing to unpack .../216-python-kombu_4.0.2+really4.0.2+dfsg-2ubuntu1_all.deb ... Unpacking python-kombu (4.0.2+really4.0.2+dfsg-2ubuntu1) ... Selecting previously unselected package python-statsd. Preparing to unpack .../217-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 .../218-python-oslo.middleware_3.30.0-0ubuntu1.1_all.deb ... Unpacking python-oslo.middleware (3.30.0-0ubuntu1.1) ... Selecting previously unselected package python-pika. Preparing to unpack .../219-python-pika_0.10.0-3_all.deb ... Unpacking python-pika (0.10.0-3) ... Selecting previously unselected package python-pika-pool. Preparing to unpack .../220-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 .../221-python-retrying_1.3.3-2_all.deb ... Unpacking python-retrying (1.3.3-2) ... Selecting previously unselected package python-tenacity. Preparing to unpack .../222-python-tenacity_3.3.0-0ubuntu1_all.deb ... Unpacking python-tenacity (3.3.0-0ubuntu1) ... Selecting previously unselected package python-oslo.messaging. Preparing to unpack .../223-python-oslo.messaging_5.30.0-0ubuntu1_all.deb ... Unpacking python-oslo.messaging (5.30.0-0ubuntu1) ... Selecting previously unselected package python-pycadf. Preparing to unpack .../224-python-pycadf_2.6.0-0ubuntu1_all.deb ... Unpacking python-pycadf (2.6.0-0ubuntu1) ... Selecting previously unselected package python-keystonemiddleware. Preparing to unpack .../225-python-keystonemiddleware_4.17.0-0ubuntu1_all.deb ... Unpacking python-keystonemiddleware (4.17.0-0ubuntu1) ... Selecting previously unselected package python-logutils. Preparing to unpack .../226-python-logutils_0.3.3-5_all.deb ... Unpacking python-logutils (0.3.3-5) ... Selecting previously unselected package python-sqlparse. Preparing to unpack .../227-python-sqlparse_0.2.2-1_all.deb ... Unpacking python-sqlparse (0.2.2-1) ... Selecting previously unselected package python-migrate. Preparing to unpack .../228-python-migrate_0.11.0-0ubuntu1_all.deb ... Unpacking python-migrate (0.11.0-0ubuntu1) ... Selecting previously unselected package python-mox3. Preparing to unpack .../229-python-mox3_0.20.0-0ubuntu1_all.deb ... Unpacking python-mox3 (0.20.0-0ubuntu1) ... Selecting previously unselected package python-openstackdocstheme. Preparing to unpack .../230-python-openstackdocstheme_1.16.1-0ubuntu1_all.deb ... Unpacking python-openstackdocstheme (1.16.1-0ubuntu1) ... Selecting previously unselected package python-subunit. Preparing to unpack .../231-python-subunit_1.1.0-3_all.deb ... Unpacking python-subunit (1.1.0-3) ... Selecting previously unselected package python-testrepository. Preparing to unpack .../232-python-testrepository_0.0.20-2_all.deb ... Unpacking python-testrepository (0.0.20-2) ... Selecting previously unselected package python3-linecache2. Preparing to unpack .../233-python3-linecache2_1.0.0-3_all.deb ... Unpacking python3-linecache2 (1.0.0-3) ... Selecting previously unselected package python3-traceback2. Preparing to unpack .../234-python3-traceback2_1.4.0-4_all.deb ... Unpacking python3-traceback2 (1.4.0-4) ... Selecting previously unselected package python3-unittest2. Preparing to unpack .../235-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 .../236-python3-mimeparse_0.1.4-3_all.deb ... Unpacking python3-mimeparse (0.1.4-3) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../237-python3-pbr_2.0.0-0ubuntu1_all.deb ... Unpacking python3-pbr (2.0.0-0ubuntu1) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../238-python3-testtools_1.8.1-0ubuntu2_all.deb ... Unpacking python3-testtools (1.8.1-0ubuntu2) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../239-python3-subunit_1.1.0-3_all.deb ... Unpacking python3-subunit (1.1.0-3) ... Selecting previously unselected package subunit. Preparing to unpack .../240-subunit_1.1.0-3_all.deb ... Unpacking subunit (1.1.0-3) ... Selecting previously unselected package python-os-testr. Preparing to unpack .../241-python-os-testr_0.8.0-0ubuntu1_all.deb ... Unpacking python-os-testr (0.8.0-0ubuntu1) ... Selecting previously unselected package python-oslo.db. Preparing to unpack .../242-python-oslo.db_4.25.0-0ubuntu1_all.deb ... Unpacking python-oslo.db (4.25.0-0ubuntu1) ... Selecting previously unselected package python-oslo.policy. Preparing to unpack .../243-python-oslo.policy_1.25.1-0ubuntu1_all.deb ... Unpacking python-oslo.policy (1.25.1-0ubuntu1) ... Selecting previously unselected package python-psutil. Preparing to unpack .../244-python-psutil_5.0.1-1build2_amd64.deb ... Unpacking python-psutil (5.0.1-1build2) ... Selecting previously unselected package python-oslo.reports. Preparing to unpack .../245-python-oslo.reports_1.22.0-0ubuntu1_all.deb ... Unpacking python-oslo.reports (1.22.0-0ubuntu1) ... Selecting previously unselected package python-oslo.rootwrap. Preparing to unpack .../246-python-oslo.rootwrap_5.9.0-0ubuntu1_all.deb ... Unpacking python-oslo.rootwrap (5.9.0-0ubuntu1) ... Selecting previously unselected package python-oslo.versionedobjects. Preparing to unpack .../247-python-oslo.versionedobjects_1.26.0-0ubuntu1_all.deb ... Unpacking python-oslo.versionedobjects (1.26.0-0ubuntu1) ... Selecting previously unselected package python-oslosphinx-common. Preparing to unpack .../248-python-oslosphinx-common_4.15.1-0ubuntu1_all.deb ... Unpacking python-oslosphinx-common (4.15.1-0ubuntu1) ... Selecting previously unselected package python-oslosphinx. Preparing to unpack .../249-python-oslosphinx_4.15.1-0ubuntu1_all.deb ... Unpacking python-oslosphinx (4.15.1-0ubuntu1) ... Selecting previously unselected package python-testscenarios. Preparing to unpack .../250-python-testscenarios_0.4-4_all.deb ... Unpacking python-testscenarios (0.4-4) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../251-python3-fixtures_3.0.0-2_all.deb ... Unpacking python3-fixtures (3.0.0-2) ... Selecting previously unselected package python3-testrepository. Preparing to unpack .../252-python3-testrepository_0.0.20-2_all.deb ... Unpacking python3-testrepository (0.0.20-2) ... Selecting previously unselected package testrepository. Preparing to unpack .../253-testrepository_0.0.20-2_all.deb ... Unpacking testrepository (0.0.20-2) ... Selecting previously unselected package python-oslotest. Preparing to unpack .../254-python-oslotest_1%3a2.17.0-0ubuntu1_all.deb ... Unpacking python-oslotest (1:2.17.0-0ubuntu1) ... Selecting previously unselected package python-ceilometerclient. Preparing to unpack .../255-python-ceilometerclient_2.9.0-0ubuntu1_all.deb ... Unpacking python-ceilometerclient (2.9.0-0ubuntu1) ... Selecting previously unselected package python-osprofiler. Preparing to unpack .../256-python-osprofiler_1.11.0-0ubuntu1_all.deb ... Unpacking python-osprofiler (1.11.0-0ubuntu1) ... Selecting previously unselected package python-pyasn1. Preparing to unpack .../257-python-pyasn1_0.1.9-2_all.deb ... Unpacking python-pyasn1 (0.1.9-2) ... Selecting previously unselected package python-paramiko. Preparing to unpack .../258-python-paramiko_2.0.0-1_all.deb ... Unpacking python-paramiko (2.0.0-1) ... Selecting previously unselected package python-simplegeneric. Preparing to unpack .../259-python-simplegeneric_0.8.1-1_all.deb ... Unpacking python-simplegeneric (0.8.1-1) ... Selecting previously unselected package python-singledispatch. Preparing to unpack .../260-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 .../261-python-waitress_1.0.1-1_all.deb ... Unpacking python-waitress (1.0.1-1) ... Selecting previously unselected package python-webtest. Preparing to unpack .../262-python-webtest_2.0.23-1ubuntu1_all.deb ... Unpacking python-webtest (2.0.23-1ubuntu1) ... Selecting previously unselected package python-pecan. Preparing to unpack .../263-python-pecan_1.1.2-3fakesync2_all.deb ... Unpacking python-pecan (1.1.2-3fakesync2) ... Selecting previously unselected package python-psycopg2. Preparing to unpack .../264-python-psycopg2_2.7.3-1_amd64.deb ... Unpacking python-psycopg2 (2.7.3-1) ... Selecting previously unselected package python-pymemcache. Preparing to unpack .../265-python-pymemcache_1.3.2-3_all.deb ... Unpacking python-pymemcache (1.3.2-3) ... Selecting previously unselected package python-pymysql. Preparing to unpack .../266-python-pymysql_0.7.11-1_all.deb ... Unpacking python-pymysql (0.7.11-1) ... Selecting previously unselected package python-redis. Preparing to unpack .../267-python-redis_2.10.5-4_all.deb ... Unpacking python-redis (2.10.5-4) ... Selecting previously unselected package python-sendfile. Preparing to unpack .../268-python-sendfile_2.0.1-1build3_amd64.deb ... Unpacking python-sendfile (2.0.1-1build3) ... Selecting previously unselected package python-sphinxcontrib-pecanwsme. Preparing to unpack .../269-python-sphinxcontrib-pecanwsme_0.8.0-3_all.deb ... Unpacking python-sphinxcontrib-pecanwsme (0.8.0-3) ... Selecting previously unselected package python-testresources. Preparing to unpack .../270-python-testresources_1.0.0-4_all.deb ... Unpacking python-testresources (1.0.0-4) ... Selecting previously unselected package python-voluptuous. Preparing to unpack .../271-python-voluptuous_0.9.3-1_all.deb ... Unpacking python-voluptuous (0.9.3-1) ... Selecting previously unselected package python-tooz. Preparing to unpack .../272-python-tooz_1.58.0-0ubuntu1_all.deb ... Unpacking python-tooz (1.58.0-0ubuntu1) ... Selecting previously unselected package python-wsme. Preparing to unpack .../273-python-wsme_0.9.2-0ubuntu2_all.deb ... Unpacking python-wsme (0.9.2-0ubuntu2) ... Selecting previously unselected package dh-systemd. Preparing to unpack .../274-dh-systemd_10.7.2ubuntu2_all.deb ... Unpacking dh-systemd (10.7.2ubuntu2) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../275-openstack-pkg-tools_54ubuntu3_all.deb ... Unpacking openstack-pkg-tools (54ubuntu3) ... Selecting previously unselected package python-os-api-ref-common. Preparing to unpack .../276-python-os-api-ref-common_1.2.0-0ubuntu1_all.deb ... Unpacking python-os-api-ref-common (1.2.0-0ubuntu1) ... Selecting previously unselected package python-os-api-ref. Preparing to unpack .../277-python-os-api-ref_1.2.0-0ubuntu1_all.deb ... Unpacking python-os-api-ref (1.2.0-0ubuntu1) ... Selecting previously unselected package python-swiftclient. Preparing to unpack .../278-python-swiftclient_1%3a3.4.0-0ubuntu1_all.deb ... Unpacking python-swiftclient (1:3.4.0-0ubuntu1) ... Selecting previously unselected package sbuild-build-depends-ironic-dummy. Preparing to unpack .../279-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.1.1-2) ... Setting up madison-lite (0.22) ... Setting up libapt-inst2.0:amd64 (1.5.1) ... Setting up libarchive-zip-perl (1.59-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.20p2-1ubuntu1) ... Setting up libtimedate-perl (2.3000-2) ... Setting up libsigsegv2:amd64 (2.11-1) ... Setting up apt-utils (1.5.1) ... Setting up perl-openssl-defaults:amd64 (3) ... Setting up groff-base (1.22.3-9) ... Setting up libglib2.0-0:amd64 (2.54.1-1ubuntu1) ... 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.5.6-2) ... Setting up gettext-base (0.19.8.1-4ubuntu1) ... Setting up python-oslosphinx-common (4.15.1-0ubuntu1) ... Setting up libpipeline1:amd64 (1.4.2-1) ... Setting up m4 (1.4.18-1) ... Setting up sgml-base (1.29) ... Setting up libicu57:amd64 (57.1-6ubuntu0.2) ... Setting up libbsd0:amd64 (0.8.6-1) ... Setting up libxml2:amd64 (2.9.4+dfsg1-4ubuntu1) ... Setting up libmagic-mgc (1:5.32-1) ... Setting up libmagic1:amd64 (1:5.32-1) ... Setting up libcroco3:amd64 (0.6.12-1) ... Setting up libxslt1.1:amd64 (1.1.29-2.1ubuntu1) ... Setting up libyaml-0-2:amd64 (0.1.7-2ubuntu3) ... Setting up pycadf-common (2.6.0-0ubuntu1) ... Setting up libpq5:amd64 (9.6.5-1) ... Setting up liblwp-mediatypes-perl (6.02-1) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Setting up autotools-dev (20161112.1) ... Setting up liburi-perl (1.72-1) ... Setting up python-babel-localedata (2.4.0+dfsg.1-2ubuntu1) ... Processing triggers for systemd (234-2ubuntu12.1) ... Setting up libhtml-parser-perl (3.72-3build1) ... Setting up sphinx-common (1.5.6-2) ... Setting up python3-mimeparse (0.1.4-3) ... Setting up libnet-http-perl (6.16-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.17) ... Setting up libsubunit-perl (1.1.0-3) ... Setting up bsdmainutils (9.0.12+nmu1ubuntu1) ... 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+19ubuntu3) ... 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-2ubuntu2) ... Setting up libxau6:amd64 (1:1.0.8-1) ... Setting up autopoint (0.19.8.1-4ubuntu1) ... Setting up libmpdec2:amd64 (2.4.2-1) ... Setting up libdbus-1-3:amd64 (1.10.22-1ubuntu1) ... Setting up netbase (5.4) ... Setting up xdelta3 (3.0.11-dfsg-1ubuntu1) ... Setting up libfile-stripnondeterminism-perl (0.038-1) ... Setting up libpython3.6-stdlib:amd64 (3.6.3-1ubuntu1) ... Setting up libhttp-date-perl (6.02-1) ... Setting up python3.6 (3.6.3-1ubuntu1) ... Setting up python-os-api-ref-common (1.2.0-0ubuntu1) ... Setting up libxdelta2 (1.1.3-9.1ubuntu1) ... Setting up gettext (0.19.8.1-4ubuntu1) ... Setting up libnet-ssleay-perl (1.80-1build1) ... Setting up libdbus-glib-1-2:amd64 (0.108-2) ... Setting up python2.7 (2.7.14-2ubuntu2) ... Setting up autoconf (2.69-11) ... Setting up file (1:5.32-1) ... Setting up libio-socket-ssl-perl (2.050-1) ... Setting up libhtml-tree-perl (5.03-2) ... Setting up libpython-stdlib:amd64 (2.7.14-2ubuntu1) ... Setting up intltool-debian (0.35.0+20060710.4) ... Setting up automake (1:1.15-6ubuntu1) ... 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 man-db (2.7.6.1-2) ... Not building database; man-db/auto-update is not 'true'. Setting up libhttp-message-perl (6.11-1) ... Setting up xdelta (1.1.3-9.1ubuntu1) ... Setting up dbus (1.10.22-1ubuntu1) ... Setting up libxcb1:amd64 (1.12-1ubuntu1) ... Setting up python (2.7.14-2ubuntu1) ... 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-logutils (0.3.3-5) ... Setting up libhttp-negotiate-perl (6.00-2) ... Setting up python-pyparsing (2.1.10+dfsg1-1) ... Setting up python-dnspython (1.15.0-1) ... Setting up python-linecache2 (1.0.0-3) ... Setting up python-idna (2.5-1) ... Setting up libtool (2.4.6-2) ... Setting up python-simplejson (3.11.1-1build1) ... Setting up libpython3-stdlib:amd64 (3.6.3-0ubuntu2) ... Setting up python-repoze.lru (0.6-6) ... 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.9+ds1-0ubuntu3) ... Setting up python-prettytable (0.7.2-3) ... Setting up python-msgpack (0.4.8-1build2) ... Setting up python-functools32 (3.2.3.2-3) ... Setting up python-yaml (3.12-1build2) ... Setting up python-asn1crypto (0.22.0-1) ... Setting up python-extras (0.0.3-3) ... Setting up python-simplegeneric (0.8.1-1) ... Setting up python-crypto (2.6.1-7build2) ... Setting up python-statsd (3.2.1-2) ... Setting up python-sqlparse (0.2.2-1) ... Setting up python-blinker (1.3.dfsg2-1build1) ... Setting up po-debconf (1.0.20) ... Setting up python-mimeparse (0.1.4-3) ... Setting up libhttp-cookies-perl (6.01-1) ... Setting up python-psycopg2 (2.7.3-1) ... Setting up python-ipaddr (2.1.11-2) ... Setting up python-cachetools (1.1.6-1) ... Setting up python-pyasn1 (0.1.9-2) ... Setting up python-pymysql (0.7.11-1) ... Setting up python-monotonic (1.1-2) ... Setting up python-unicodecsv (0.14.1-1) ... Setting up python-certifi (2017.4.17-2) ... Setting up python-tz (2017.2-2) ... Setting up libx11-6:amd64 (2:1.6.4-3) ... Setting up python-imagesize (0.7.1-1) ... Setting up python-pika (0.10.0-3) ... Setting up python-webob (1:1.7.2-0ubuntu1) ... Setting up python-pycodestyle (2.3.1-2) ... Setting up python-vine (1.1.3+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 (36.2.7-2) ... Setting up python-roman (2.0.0-2) ... Setting up python-jwt (1.4.2-1.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.1.4-1) ... Setting up python-coverage (4.3.4+dfsg.1-1build1) ... Setting up python-configparser (3.5.0-1) ... Setting up python-cffi-backend (1.9.1-2build2) ... Setting up python-six (1.10.0-4) ... Setting up python-sendfile (2.0.1-1build3) ... Setting up python-pygments (2.2.0+dfsg-1) ... Setting up pristine-tar (1.41) ... 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-mako (1.0.7+ds1-1) ... Setting up python-psutil (5.0.1-1build2) ... Setting up python-pbr (2.0.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-pbr to provide /usr/bin/pbr (pbr) in auto mode Setting up python-pyflakes (1.5.0-0ubuntu1) ... Setting up python-jsonpatch (1.19+really1.16-0ubuntu1) ... 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-1) ... Setting up python-lxml (4.0.0-1) ... Setting up python-funcsigs (1.0.2-3) ... Setting up libxt6:amd64 (1:1.1.5-1) ... Setting up python-greenlet (0.4.11-1build2) ... Setting up python-iso8601 (0.1.11-1) ... Setting up python-decorator (4.1.1-1) ... Setting up python-concurrent.futures (3.1.1-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.4-1build3) ... Remove stale byte-compiled files... Setting up python-tempita (0.5.2-2) ... Setting up python-ipaddress (1.0.17-1) ... Setting up python-all (2.7.14-2ubuntu1) ... Setting up python-rfc3986 (0.3.1-2) ... Setting up python-redis (2.10.5-4) ... Setting up python-kazoo (2.2.1-1ubuntu1) ... Setting up python-routes (2.4.1-1) ... Setting up python-formencode (1.3.0-0ubuntu5) ... Setting up python-wrapt (1.9.0-2build2) ... Setting up python-tenacity (3.3.0-0ubuntu1) ... Setting up python-setuptools (36.2.7-2) ... Setting up python-pika-pool (0.1.3-1ubuntu2) ... Setting up python-urllib3 (1.21.1-1) ... Setting up python-requestsexceptions (1.1.2-0ubuntu1) ... Setting up python-chardet (3.0.4-1) ... Setting up python-kombu (4.0.2+really4.0.2+dfsg-2ubuntu1) ... Setting up libxext6:amd64 (2:1.3.3-1) ... Setting up python-migrate (0.11.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-migrate to provide /usr/bin/migrate (migrate) in auto mode update-alternatives: using /usr/bin/python2-migrate-repository to provide /usr/bin/migrate-repository (migrate-repository) in auto mode Setting up python-jinja2 (2.9.6-1) ... Setting up python-debtcollector (1.13.0-0ubuntu1) ... Setting up python-alembic (0.8.10-0ubuntu2) ... update-alternatives: using /usr/bin/python2-alembic to provide /usr/bin/alembic (alembic) in auto mode 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.19.0-7) ... Setting up pyflakes (1.5.0-0ubuntu1) ... 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.1.0-0ubuntu1) ... Setting up python-dateutil (2.6.0-1) ... Setting up python-stevedore (1:1.25.0-0ubuntu1) ... Setting up python-oslo.rootwrap (5.9.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-testtools (1.8.1-0ubuntu2) ... Setting up python-cryptography (1.9-1) ... Setting up python-automaton (1.9.0-0ubuntu1) ... Setting up python-requests (2.18.1-1) ... Setting up python-subunit (1.1.0-3) ... Setting up python-positional (1.1.1-3) ... Setting up python-zake (0.1.6-1) ... Setting up alembic (0.8.10-0ubuntu2) ... Setting up python-secretstorage (2.3.1-2) ... Setting up python-flake8 (3.2.1-1) ... Setting up python-testresources (1.0.0-4) ... Setting up python-fixtures (3.0.0-2) ... Setting up python-oauthlib (2.0.1-1) ... Setting up python-keyring (10.4.0-1) ... Setting up python-openstackdocstheme (1.16.1-0ubuntu1) ... Setting up python-oslosphinx (4.15.1-0ubuntu1) ... Setting up python-oslo.context (1:2.17.0-0ubuntu1) ... Setting up python-bashate (0.3.1-2) ... update-alternatives: using /usr/bin/python2-bashate to provide /usr/bin/bashate (bashate) in auto mode Setting up python-openssl (16.2.0-1) ... Setting up python-oslo.i18n (3.17.0-0ubuntu1) ... Setting up xclip (0.12+svn84-4build1) ... Setting up python-pastedeploy (1.5.2-4) ... Setting up python-keystoneauth1 (3.1.0-0ubuntu2) ... Setting up python-testscenarios (0.4-4) ... Setting up python-hacking (0.12.0-0ubuntu1) ... Setting up python-paramiko (2.0.0-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 python-mox3 (0.20.0-0ubuntu1) ... Setting up python-pyperclip (1.5.27-3) ... Setting up python-os-client-config (1.28.0-0ubuntu1) ... Setting up python-webtest (2.0.23-1ubuntu1) ... Setting up python-cmd2 (0.7.4-1) ... Setting up python-cliff (2.8.0-0ubuntu1) ... Setting up python-pecan (1.1.2-3fakesync2) ... update-alternatives: using /usr/bin/gunicorn_pecan-python2 to provide /usr/bin/gunicorn_pecan (gunicorn_pecan) in auto mode update-alternatives: using /usr/bin/pecan-python2 to provide /usr/bin/pecan (pecan) in auto mode Setting up python-openstacksdk (0.9.17-0ubuntu1) ... Processing triggers for sgml-base (1.29) ... Setting up docutils-common (0.14+dfsg-1) ... Processing triggers for sgml-base (1.29) ... Setting up python-docutils (0.14+dfsg-1) ... update-alternatives: using /usr/share/docutils/scripts/python2/rst-buildhtml to provide /usr/bin/rst-buildhtml (rst-buildhtml) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/rst2html to provide /usr/bin/rst2html (rst2html) in auto mode update-alternatives: using /usr/share/docutils/scripts/python2/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.5.6-2) ... Setting up python-os-api-ref (1.2.0-0ubuntu1) ... Setting up python-sphinxcontrib.httpdomain (1.3.0-1) ... Setting up python-sphinxcontrib-pecanwsme (0.8.0-3) ... Setting up dh-autoreconf (14) ... Setting up python3 (3.6.3-0ubuntu2) ... Setting up liblwp-protocol-https-perl (6.07-2) ... Setting up python3-six (1.10.0-4) ... Setting up python3-extras (0.0.3-3) ... Setting up python3-pkg-resources (36.2.7-2) ... Setting up dh-strip-nondeterminism (0.038-1) ... Setting up python3-chardet (3.0.4-1) ... Setting up dh-python (2.20170125) ... Setting up python3-debian (0.1.30) ... Setting up libwww-perl (6.15-2) ... Setting up autopkgtest (5.0.2) ... Setting up debhelper (10.7.2ubuntu2) ... Setting up python-jsonschema (2.5.1-6) ... update-alternatives: using /usr/bin/python2-jsonschema to provide /usr/bin/jsonschema (jsonschema) in auto mode Setting up python3-pbr (2.0.0-0ubuntu1) ... Setting up python3-linecache2 (1.0.0-3) ... Setting up ieee-data (20160613.1) ... Setting up python-netaddr (0.7.18-2) ... Setting up python-warlock (1.1.0-1) ... Setting up dh-systemd (10.7.2ubuntu2) ... Setting up python3-traceback2 (1.4.0-4) ... Setting up python-oslo.config (1:4.11.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 libxml-parser-perl (2.44-2build3) ... Setting up python-wsme (0.9.2-0ubuntu2) ... Setting up python-oslo.utils (3.28.0-0ubuntu1) ... Setting up python-osc-lib (1.7.0-0ubuntu1) ... Setting up python-glanceclient (1:2.8.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-glance to provide /usr/bin/glance (glance) in auto mode Setting up python-oslo.serialization (2.20.0-0ubuntu1) ... Setting up libxml-xpath-perl (1.42-1) ... Setting up openstack-pkg-tools (54ubuntu3) ... Setting up python-oslo.middleware (3.30.0-0ubuntu1.1) ... Setting up python-oslo.db (4.25.0-0ubuntu1) ... Setting up python3-testtools (1.8.1-0ubuntu2) ... Setting up python-novaclient (2:9.1.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-nova to provide /usr/bin/nova (nova) in auto mode Setting up python-oslo.policy (1.25.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 python-cinderclient (1:3.1.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-cinder to provide /usr/bin/cinder (cinder) in auto mode Setting up python-oslo.reports (1.22.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.21.0-0ubuntu2) ... update-alternatives: using /usr/bin/python2-lockutils-wrapper to provide /usr/bin/lockutils-wrapper (lockutils-wrapper) in auto mode Setting up python-tooz (1.58.0-0ubuntu1) ... Setting up python-oslo.log (3.30.0-0ubuntu1) ... Setting up python-pycadf (2.6.0-0ubuntu1) ... Setting up python-oslo.service (1.25.0-0ubuntu1) ... Setting up python-keystoneclient (1:3.13.0-0ubuntu1) ... Setting up python3-subunit (1.1.0-3) ... Setting up subunit (1.1.0-3) ... Setting up python-oslo.messaging (5.30.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-neutronclient (1:6.5.0-0ubuntu1.1) ... update-alternatives: using /usr/bin/python2-neutron to provide /usr/bin/neutron (neutron) in auto mode Setting up python-keystonemiddleware (4.17.0-0ubuntu1) ... Setting up python-swiftclient (1:3.4.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-swift to provide /usr/bin/swift (swift) in auto mode Setting up python-oslo.versionedobjects (1.26.0-0ubuntu1) ... Setting up python-osprofiler (1.11.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-osprofiler to provide /usr/bin/osprofiler (osprofiler) in auto mode Setting up python-ironic-lib (2.9.0-0ubuntu1) ... Setting up python-os-testr (0.8.0-0ubuntu1) ... update-alternatives: using /usr/bin/python2-ostestr to provide /usr/bin/ostestr (ostestr) in auto mode update-alternatives: using /usr/bin/python2-subunit-trace to provide /usr/bin/subunit-trace (subunit-trace) in auto mode update-alternatives: using /usr/bin/python2-subunit2html to provide /usr/bin/subunit2html (subunit2html) in auto mode update-alternatives: using /usr/bin/python2-generate-subunit to provide /usr/bin/generate-subunit (generate-subunit) in auto mode Setting up python-openstackclient (3.12.0-0ubuntu2) ... update-alternatives: using /usr/bin/python2-openstack to provide /usr/bin/openstack (openstack) in auto mode Setting up python3-testrepository (0.0.20-2) ... Setting up testrepository (0.0.20-2) ... Setting up python-oslotest (1:2.17.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 python-ironicclient (1.16.0-0ubuntu2) ... 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 ... 29172 files and directories currently installed.) Purging configuration files for pkg-create-dbgsym (0.73) ... Processing triggers for libc-bin (2.26-0ubuntu2) ... Processing triggers for systemd (234-2ubuntu12.1) ... +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.4.0-97-generic amd64 (x86_64) Toolchain package versions: binutils_2.29.1-4ubuntu1 dpkg-dev_1.18.24ubuntu1 g++-7_7.2.0-8ubuntu3 gcc-7_7.2.0-8ubuntu3 libc6-dev_2.26-0ubuntu2 libstdc++-7-dev_7.2.0-8ubuntu3 libstdc++6_7.2.0-8ubuntu3 linux-libc-dev_4.13.0-16.19 Package versions: adduser_3.113+nmu3ubuntu5 advancecomp_2.0-1 alembic_0.8.10-0ubuntu2 apt_1.5.1 apt-transport-https_1.5.1 apt-utils_1.5.1 autoconf_2.69-11 automake_1:1.15-6ubuntu1 autopkgtest_5.0.2 autopoint_0.19.8.1-4ubuntu1 autotools-dev_20161112.1 base-files_9.6ubuntu102 base-passwd_3.5.43 bash_4.4-5ubuntu1 binutils_2.29.1-4ubuntu1 binutils-common_2.29.1-4ubuntu1 binutils-x86-64-linux-gnu_2.29.1-4ubuntu1 bsdmainutils_9.0.12+nmu1ubuntu1 bsdutils_1:2.30.1-0ubuntu4 build-essential_12.4ubuntu1 bzip2_1.0.6-8.1 ca-certificates_20170717 coreutils_8.26-3ubuntu4 cpp_4:7.2.0-1ubuntu1 cpp-7_7.2.0-8ubuntu3 dash_0.5.8-2.3ubuntu1 dbus_1.10.22-1ubuntu1 debconf_1.5.63 debhelper_10.7.2ubuntu2 debianutils_4.8.2 dh-autoreconf_14 dh-python_2.20170125 dh-strip-nondeterminism_0.038-1 dh-systemd_10.7.2ubuntu2 diffutils_1:3.6-1 dmsetup_2:1.02.137-2ubuntu3 docutils-common_0.14+dfsg-1 dpkg_1.18.24ubuntu1 dpkg-dev_1.18.24ubuntu1 e2fslibs_1.43.5-1 e2fsprogs_1.43.5-1 fakeroot_1.21-1ubuntu2 fdisk_2.30.1-0ubuntu4 file_1:5.32-1 findutils_4.6.0+git+20170729-2 formencode-i18n_1.3.0-0ubuntu5 g++_4:7.2.0-1ubuntu1 g++-7_7.2.0-8ubuntu3 gcc_4:7.2.0-1ubuntu1 gcc-7_7.2.0-8ubuntu3 gcc-7-base_7.2.0-8ubuntu3 gettext_0.19.8.1-4ubuntu1 gettext-base_0.19.8.1-4ubuntu1 gnupg_2.1.15-1ubuntu8 gnupg-agent_2.1.15-1ubuntu8 gpgv_2.1.15-1ubuntu8 grep_3.1-2 groff-base_1.22.3-9 gzip_1.6-5ubuntu1 hostname_3.18 ieee-data_20160613.1 init_1.49ubuntu1 init-system-helpers_1.49ubuntu1 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-2ubuntu17 libapt-inst2.0_1.5.1 libapt-pkg5.0_1.5.1 libarchive-zip-perl_1.59-1 libasan4_7.2.0-8ubuntu3 libasn1-8-heimdal_7.4.0.dfsg.1-2 libassuan0_2.4.3-3 libatomic1_7.2.0-8ubuntu3 libattr1_1:2.4.47-2build1 libaudit-common_1:2.7.7-1ubuntu2 libaudit1_1:2.7.7-1ubuntu2 libbinutils_2.29.1-4ubuntu1 libblkid1_2.30.1-0ubuntu4 libbsd0_0.8.6-1 libbz2-1.0_1.0.6-8.1 libc-bin_2.26-0ubuntu2 libc-dev-bin_2.26-0ubuntu2 libc6_2.26-0ubuntu2 libc6-dev_2.26-0ubuntu2 libcap-ng0_0.7.7-3build1 libcap2_1:2.25-1.1 libcc1-0_7.2.0-8ubuntu3 libcilkrts5_7.2.0-8ubuntu3 libcomerr2_1.43.5-1 libcroco3_0.6.12-1 libcryptsetup4_2:1.7.3-4ubuntu1 libcurl3-gnutls_7.55.1-1ubuntu2.1 libdb5.3_5.3.28-13.1 libdbus-1-3_1.10.22-1ubuntu1 libdbus-glib-1-2_0.108-2 libdebconfclient0_0.213ubuntu1 libdevmapper1.02.1_2:1.02.137-2ubuntu3 libdpkg-perl_1.18.24ubuntu1 libencode-locale-perl_1.05-1 libexpat1_2.2.3-1 libfakeroot_1.21-1ubuntu2 libfdisk1_2.30.1-0ubuntu4 libffi6_3.2.1-6 libfile-listing-perl_6.04-1 libfile-stripnondeterminism-perl_0.038-1 libgcc-7-dev_7.2.0-8ubuntu3 libgcc1_1:7.2.0-8ubuntu3 libgcrypt20_1.7.8-2ubuntu1 libgdbm3_1.8.3-14 libglib2.0-0_2.54.1-1ubuntu1 libgmp10_2:6.1.2+dfsg-1 libgnutls30_3.5.8-6ubuntu3 libgomp1_7.2.0-8ubuntu3 libgpg-error0_1.27-3 libgssapi-krb5-2_1.15.1-2 libgssapi3-heimdal_7.4.0.dfsg.1-2 libhcrypto4-heimdal_7.4.0.dfsg.1-2 libheimbase1-heimdal_7.4.0.dfsg.1-2 libheimntlm0-heimdal_7.4.0.dfsg.1-2 libhogweed4_3.3-2 libhtml-parser-perl_3.72-3build1 libhtml-tagset-perl_3.20-3 libhtml-tree-perl_5.03-2 libhttp-cookies-perl_6.01-1 libhttp-date-perl_6.02-1 libhttp-message-perl_6.11-1 libhttp-negotiate-perl_6.00-2 libhx509-5-heimdal_7.4.0.dfsg.1-2 libice6_2:1.0.9-2 libicu57_57.1-6ubuntu0.2 libidn11_1.33-2 libidn2-0_2.0.2-5 libio-html-perl_1.001-1 libio-socket-ssl-perl_2.050-1 libip4tc0_1.6.1-2ubuntu1 libisl15_0.18-1 libitm1_7.2.0-8ubuntu3 libjs-bootstrap_3.3.7+dfsg-2 libjs-jquery_3.1.1-2 libjs-sphinxdoc_1.5.6-2 libjs-underscore_1.8.3~dfsg-1 libk5crypto3_1.15.1-2 libkeyutils1_1.5.9-9ubuntu1 libkmod2_24-1ubuntu2 libkrb5-26-heimdal_7.4.0.dfsg.1-2 libkrb5-3_1.15.1-2 libkrb5support0_1.15.1-2 libksba8_1.3.5-2 libldap-2.4-2_2.4.45+dfsg-1ubuntu1 libldap-common_2.4.45+dfsg-1ubuntu1 liblockfile-bin_1.14-1 liblockfile1_1.14-1 liblsan0_7.2.0-8ubuntu3 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-1 libmagic1_1:5.32-1 libmount1_2.30.1-0ubuntu4 libmpc3_1.0.3-2 libmpdec2_2.4.2-1 libmpfr4_3.1.6-1 libmpx2_7.2.0-8ubuntu3 libncurses5_6.0+20160625-1ubuntu1 libncursesw5_6.0+20160625-1ubuntu1 libnet-http-perl_6.16-1 libnet-ssleay-perl_1.80-1build1 libnettle6_3.3-2 libnpth0_1.5-2 libp11-kit0_0.23.7-3 libpam-modules_1.1.8-3.2ubuntu3 libpam-modules-bin_1.1.8-3.2ubuntu3 libpam-runtime_1.1.8-3.2ubuntu3 libpam0g_1.1.8-3.2ubuntu3 libpcre3_2:8.39-5ubuntu3 libperl5.26_5.26.0-8ubuntu1 libpipeline1_1.4.2-1 libpng16-16_1.6.34-1 libpq5_9.6.5-1 libprocps6_2:3.3.12-1ubuntu2 libpsl5_0.18.0-2 libpython-stdlib_2.7.14-2ubuntu1 libpython2.7-minimal_2.7.14-2ubuntu2 libpython2.7-stdlib_2.7.14-2ubuntu2 libpython3-stdlib_3.6.3-0ubuntu2 libpython3.6-minimal_3.6.3-1ubuntu1 libpython3.6-stdlib_3.6.3-1ubuntu1 libquadmath0_7.2.0-8ubuntu3 libreadline7_7.0-0ubuntu2 libroken18-heimdal_7.4.0.dfsg.1-2 librtmp1_2.4+20151223.gitfa8646d.1-1 libsasl2-2_2.1.27~101-g0780600+dfsg-3ubuntu1 libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3ubuntu1 libseccomp2_2.3.1-2.1ubuntu3 libselinux1_2.7-1 libsemanage-common_2.7-2 libsemanage1_2.7-2 libsepol1_2.7-1 libsigsegv2_2.11-1 libslang2_2.3.1-5ubuntu1 libsm6_2:1.2.2-1 libsmartcols1_2.30.1-0ubuntu4 libsqlite3-0_3.19.3-3 libss2_1.43.5-1 libssl1.0.0_1.0.2g-1ubuntu13 libstdc++-7-dev_7.2.0-8ubuntu3 libstdc++6_7.2.0-8ubuntu3 libsubunit-perl_1.1.0-3 libsystemd0_234-2ubuntu12.1 libtasn1-6_4.12-2.1 libtimedate-perl_2.3000-2 libtinfo5_6.0+20160625-1ubuntu1 libtool_2.4.6-2 libtsan0_7.2.0-8ubuntu3 libubsan0_7.2.0-8ubuntu3 libudev1_234-2ubuntu12.1 libunistring0_0.9.3-5.2ubuntu1 liburi-perl_1.72-1 libusb-0.1-4_2:0.1.12-31 libustr-1.0-1_1.0.4-6 libuuid1_2.30.1-0ubuntu4 libwind0-heimdal_7.4.0.dfsg.1-2 libwww-perl_6.15-2 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.1ubuntu1 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-4ubuntu1 libxmu6_2:1.1.2-2 libxslt1.1_1.1.29-2.1ubuntu1 libxt6_1:1.1.5-1 libyaml-0-2_0.1.7-2ubuntu3 linux-libc-dev_4.13.0-16.19 lockfile-progs_0.1.17build1 login_1:4.2-3.2ubuntu4 lsb-base_9.20160110ubuntu5 m4_1.4.18-1 madison-lite_0.22 make_4.1-9.1 man-db_2.7.6.1-2 mawk_1.3.3-17ubuntu2 mime-support_3.60ubuntu1 mount_2.30.1-0ubuntu4 multiarch-support_2.26-0ubuntu2 ncurses-base_6.0+20160625-1ubuntu1 ncurses-bin_6.0+20160625-1ubuntu1 netbase_5.4 openssl_1.0.2g-1ubuntu13 openstack-pkg-tools_54ubuntu3 optipng_0.7.6-1build1 passwd_1:4.2-3.2ubuntu4 patch_2.7.5-1build1 perl_5.26.0-8ubuntu1 perl-base_5.26.0-8ubuntu1 perl-modules-5.26_5.26.0-8ubuntu1 perl-openssl-defaults_3 pinentry-curses_1.0.0-2 pkgbinarymangler_131 po-debconf_1.0.20 policyrcd-script-zg2_0.1-3 pristine-tar_1.41 procps_2:3.3.12-1ubuntu2 pycadf-common_2.6.0-0ubuntu1 pyflakes_1.5.0-0ubuntu1 python_2.7.14-2ubuntu1 python-alabaster_0.7.8-1 python-alembic_0.8.10-0ubuntu2 python-all_2.7.14-2ubuntu1 python-amqp_2.1.4-1 python-anyjson_0.3.3-1build1 python-appdirs_1.4.3-1 python-asn1crypto_0.22.0-1 python-automaton_1.9.0-0ubuntu1 python-babel_2.4.0+dfsg.1-2ubuntu1 python-babel-localedata_2.4.0+dfsg.1-2ubuntu1 python-bashate_0.3.1-2 python-blinker_1.3.dfsg2-1build1 python-bs4_4.6.0-1 python-cachetools_1.1.6-1 python-ceilometerclient_2.9.0-0ubuntu1 python-certifi_2017.4.17-2 python-cffi-backend_1.9.1-2build2 python-chardet_3.0.4-1 python-cinderclient_1:3.1.0-0ubuntu1 python-cliff_2.8.0-0ubuntu1 python-cmd2_0.7.4-1 python-concurrent.futures_3.1.1-1 python-configparser_3.5.0-1 python-contextlib2_0.5.5-1 python-coverage_4.3.4+dfsg.1-1build1 python-crypto_2.6.1-7build2 python-cryptography_1.9-1 python-dateutil_2.6.0-1 python-dbus_1.2.4-1build3 python-debtcollector_1.13.0-0ubuntu1 python-decorator_4.1.1-1 python-deprecation_1.0.1-0ubuntu1 python-dnspython_1.15.0-1 python-docutils_0.14+dfsg-1 python-dogpile.cache_0.6.2-5 python-enum34_1.1.6-1 python-eventlet_0.19.0-7 python-extras_0.0.3-3 python-fasteners_0.12.0-3 python-fixtures_3.0.0-2 python-flake8_3.2.1-1 python-formencode_1.3.0-0ubuntu5 python-funcsigs_1.0.2-3 python-functools32_3.2.3.2-3 python-futurist_1.1.0-0ubuntu1 python-glanceclient_1:2.8.0-0ubuntu1 python-greenlet_0.4.11-1build2 python-hacking_0.12.0-0ubuntu1 python-idna_2.5-1 python-imagesize_0.7.1-1 python-ipaddr_2.1.11-2 python-ipaddress_1.0.17-1 python-ironic-lib_2.9.0-0ubuntu1 python-ironicclient_1.16.0-0ubuntu2 python-iso8601_0.1.11-1 python-jinja2_2.9.6-1 python-json-pointer_1.10-1 python-jsonpatch_1.19+really1.16-0ubuntu1 python-jsonschema_2.5.1-6 python-jwt_1.4.2-1.1 python-kazoo_2.2.1-1ubuntu1 python-keyring_10.4.0-1 python-keystoneauth1_3.1.0-0ubuntu2 python-keystoneclient_1:3.13.0-0ubuntu1 python-keystonemiddleware_4.17.0-0ubuntu1 python-kombu_4.0.2+really4.0.2+dfsg-2ubuntu1 python-linecache2_1.0.0-3 python-logutils_0.3.3-5 python-lxml_4.0.0-1 python-mako_1.0.7+ds1-1 python-markupsafe_1.0-1build1 python-mccabe_0.6.1-2 python-migrate_0.11.0-0ubuntu1 python-mimeparse_0.1.4-3 python-minimal_2.7.14-2ubuntu1 python-mock_2.0.0-3 python-monotonic_1.1-2 python-mox3_0.20.0-0ubuntu1 python-msgpack_0.4.8-1build2 python-netaddr_0.7.18-2 python-netifaces_0.10.4-0.1build4 python-neutronclient_1:6.5.0-0ubuntu1.1 python-novaclient_2:9.1.0-0ubuntu1 python-oauthlib_2.0.1-1 python-openssl_16.2.0-1 python-openstackclient_3.12.0-0ubuntu2 python-openstackdocstheme_1.16.1-0ubuntu1 python-openstacksdk_0.9.17-0ubuntu1 python-os-api-ref_1.2.0-0ubuntu1 python-os-api-ref-common_1.2.0-0ubuntu1 python-os-client-config_1.28.0-0ubuntu1 python-os-testr_0.8.0-0ubuntu1 python-osc-lib_1.7.0-0ubuntu1 python-oslo.concurrency_3.21.0-0ubuntu2 python-oslo.config_1:4.11.0-0ubuntu1 python-oslo.context_1:2.17.0-0ubuntu1 python-oslo.db_4.25.0-0ubuntu1 python-oslo.i18n_3.17.0-0ubuntu1 python-oslo.log_3.30.0-0ubuntu1 python-oslo.messaging_5.30.0-0ubuntu1 python-oslo.middleware_3.30.0-0ubuntu1.1 python-oslo.policy_1.25.1-0ubuntu1 python-oslo.reports_1.22.0-0ubuntu1 python-oslo.rootwrap_5.9.0-0ubuntu1 python-oslo.serialization_2.20.0-0ubuntu1 python-oslo.service_1.25.0-0ubuntu1 python-oslo.utils_3.28.0-0ubuntu1 python-oslo.versionedobjects_1.26.0-0ubuntu1 python-oslosphinx_4.15.1-0ubuntu1 python-oslosphinx-common_4.15.1-0ubuntu1 python-oslotest_1:2.17.0-0ubuntu1 python-osprofiler_1.11.0-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_2.0.0-0ubuntu1 python-pecan_1.1.2-3fakesync2 python-pika_0.10.0-3 python-pika-pool_0.1.3-1ubuntu2 python-pkg-resources_36.2.7-2 python-positional_1.1.1-3 python-posix-ipc_0.9.8-2build4 python-prettytable_0.7.2-3 python-psutil_5.0.1-1build2 python-psycopg2_2.7.3-1 python-pyasn1_0.1.9-2 python-pycadf_2.6.0-0ubuntu1 python-pycodestyle_2.3.1-2 python-pyflakes_1.5.0-0ubuntu1 python-pygments_2.2.0+dfsg-1 python-pyinotify_0.9.6-1 python-pymemcache_1.3.2-3 python-pymysql_0.7.11-1 python-pyparsing_2.1.10+dfsg1-1 python-pyperclip_1.5.27-3 python-redis_2.10.5-4 python-repoze.lru_0.6-6 python-requests_2.18.1-1 python-requestsexceptions_1.1.2-0ubuntu1 python-retrying_1.3.3-2 python-rfc3986_0.3.1-2 python-roman_2.0.0-2 python-routes_2.4.1-1 python-secretstorage_2.3.1-2 python-sendfile_2.0.1-1build3 python-setuptools_36.2.7-2 python-simplegeneric_0.8.1-1 python-simplejson_3.11.1-1build1 python-singledispatch_3.4.0.3-2 python-six_1.10.0-4 python-sphinx_1.5.6-2 python-sphinxcontrib-pecanwsme_0.8.0-3 python-sphinxcontrib.httpdomain_1.3.0-1 python-sqlalchemy_1.1.9+ds1-0ubuntu3 python-sqlparse_0.2.2-1 python-statsd_3.2.1-2 python-stevedore_1:1.25.0-0ubuntu1 python-subunit_1.1.0-3 python-swiftclient_1:3.4.0-0ubuntu1 python-tempita_0.5.2-2 python-tenacity_3.3.0-0ubuntu1 python-testrepository_0.0.20-2 python-testresources_1.0.0-4 python-testscenarios_0.4-4 python-testtools_1.8.1-0ubuntu2 python-tooz_1.58.0-0ubuntu1 python-traceback2_1.4.0-4 python-tz_2017.2-2 python-unicodecsv_0.14.1-1 python-unittest2_1.1.0-6.1 python-urllib3_1.21.1-1 python-vine_1.1.3+dfsg-2 python-voluptuous_0.9.3-1 python-waitress_1.0.1-1 python-warlock_1.1.0-1 python-webob_1:1.7.2-0ubuntu1 python-webtest_2.0.23-1ubuntu1 python-wrapt_1.9.0-2build2 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-2ubuntu2 python2.7-minimal_2.7.14-2ubuntu2 python3_3.6.3-0ubuntu2 python3-chardet_3.0.4-1 python3-debian_0.1.30 python3-extras_0.0.3-3 python3-fixtures_3.0.0-2 python3-linecache2_1.0.0-3 python3-mimeparse_0.1.4-3 python3-minimal_3.6.3-0ubuntu2 python3-pbr_2.0.0-0ubuntu1 python3-pkg-resources_36.2.7-2 python3-six_1.10.0-4 python3-subunit_1.1.0-3 python3-testrepository_0.0.20-2 python3-testtools_1.8.1-0ubuntu2 python3-traceback2_1.4.0-4 python3-unittest2_1.1.0-6.1 python3.6_3.6.3-1ubuntu1 python3.6-minimal_3.6.3-1ubuntu1 readline-common_7.0-0ubuntu2 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-ironic-dummy_0.invalid.0 sed_4.4-1 sensible-utils_0.0.10 sgml-base_1.29 sphinx-common_1.5.6-2 subunit_1.1.0-3 sudo_1.8.20p2-1ubuntu1 systemd_234-2ubuntu12.1 systemd-sysv_234-2ubuntu12.1 sysv-rc_2.88dsf-59.3ubuntu2 sysvinit-utils_2.88dsf-59.8git1 tar_1.29b-2 testrepository_0.0.20-2 tzdata_2017b-2 ubuntu-keyring_2016.10.27 util-linux_2.30.1-0ubuntu4 x11-common_1:7.7+19ubuntu3 xclip_0.12+svn84-4build1 xdelta_1.1.3-9.1ubuntu1 xdelta3_3.0.11-dfsg-1ubuntu1 xml-core_0.17 xz-utils_5.2.2-1.3 zlib1g_1:1.2.11.dfsg-0ubuntu2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Tue Oct 31 14:02:49 2017 UTC gpgv: using RSA key gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ironic_9.1.2.dev19.201710311400.artful-0ubuntu1.dsc dpkg-source: info: extracting ironic in ironic-9.1.2.dev19.201710311400.artful dpkg-source: info: unpacking ironic_9.1.2.dev19.201710311400.artful.orig.tar.gz dpkg-source: info: unpacking ironic_9.1.2.dev19.201710311400.artful-0ubuntu1.debian.tar.xz dpkg-source: info: applying drop-openstackdoctheme.patch dpkg-source: info: applying set_config_defaults.patch Check disc space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=noautodbgsym parallel=4 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LOGNAME=buildd PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=build-PACKAGEBUILD-13649182 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-13649182 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-13649182 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:9.1.2.dev19.201710311400.artful-0ubuntu1 dpkg-buildpackage: info: source distribution artful dpkg-source --before-build ironic-9.1.2.dev19.201710311400.artful 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:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh clean --with python2,systemd dh_auto_clean pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions python setup.py clean -a /usr/lib/python2.7/dist-packages/setuptools/dist.py:350: UserWarning: The version specified ('9.1.2.dev19.201710311400.artful') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running clean 'build/lib.linux-x86_64-2.7' does not exist -- can't clean it 'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-2.7' does not exist -- can't clean it find . -name \*.pyc -exec rm {} \+ debian/rules override_dh_clean make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh_clean rm -f debian/*.init debian/*.service debian/*.upstart .testrepository make[1]: Leaving directory '/<>' debian/rules build pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh build --with python2,systemd dh_update_autotools_config dh_auto_configure dh_auto_build pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions python setup.py build --force /usr/lib/python2.7/dist-packages/setuptools/dist.py:350: UserWarning: The version specified ('9.1.2.dev19.201710311400.artful') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/ironic creating build/lib.linux-x86_64-2.7/ironic/tests creating build/lib.linux-x86_64-2.7/ironic/tests/unit creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspector.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_console_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/functional creating build/lib.linux-x86_64-2.7/ironic/common creating build/lib.linux-x86_64-2.7/ironic/common/glance_service creating build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/image_service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2 copying ironic/common/glance_service/v2/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2 creating build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1 copying ironic/common/glance_service/v1/image_service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1 copying ironic/common/glance_service/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1 copying ironic/tests/unit/drivers/test_drac.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_cisco.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_fake.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_snmp.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_generic.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_irmc.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_oneview.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_redfish.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_pxe.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ilo.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers creating build/lib.linux-x86_64-2.7/ironic/tests/unit/db creating build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_api.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_connectors.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_nodes.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_targets.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_ports.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_portgroups.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db copying ironic/tests/unit/db/base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/db creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_deploy.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/tests/unit/drivers/modules/oneview/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview copying ironic/version.py -> build/lib.linux-x86_64-2.7/ironic copying ironic/__init__.py -> build/lib.linux-x86_64-2.7/ironic creating build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_exception.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_raid.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_images.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_service.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/common creating build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/fake.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/agent.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/oneview.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/pxe.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/ilo.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/irmc.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/cisco_ucs.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/snmp.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/drac.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/generic.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/redfish.py -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/drivers/base.py -> build/lib.linux-x86_64-2.7/ironic/drivers creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc copying ironic/tests/unit/drivers/modules/cimc/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc creating build/lib.linux-x86_64-2.7/ironic/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/helper.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs copying ironic/drivers/modules/ucs/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs creating build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_conductor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd creating build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/conductor.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/__init__.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/fields.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/volume_connector.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/chassis.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/port.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/portgroup.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/indirection.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/volume_target.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/node.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/notification.py -> build/lib.linux-x86_64-2.7/ironic/objects copying ironic/objects/base.py -> build/lib.linux-x86_64-2.7/ironic/objects creating build/lib.linux-x86_64-2.7/ironic/tests/unit/api creating build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_expose.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_volume.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_ramdisk.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_volume_connectors.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_versions.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_nodes.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_drivers.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_types.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_volume_targets.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_ports.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_portgroups.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/tests/unit/api/v1/test_root.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1 copying ironic/common/image_service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/policy.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/rpc_service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/cinder.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/i18n.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/profiler.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/rpc.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/dhcp_factory.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/boot_devices.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/raid.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/hash_ring.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/keystone.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/network.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/config.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/release_mappings.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/neutron.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/fsm.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/wsgi_service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/driver_factory.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/utils.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/exception.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/service.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/images.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/pxe_utils.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/states.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/swift.py -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/context.py -> build/lib.linux-x86_64-2.7/ironic/common creating build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test__mgr_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_manager.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/mgr_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor creating build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/app.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/expose.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/hooks.py -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/api/config.py -> build/lib.linux-x86_64-2.7/ironic/api creating build/lib.linux-x86_64-2.7/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api/middleware copying ironic/api/middleware/auth_token.py -> build/lib.linux-x86_64-2.7/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib.linux-x86_64-2.7/ironic/api/middleware creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/drivers/modules/cimc/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc copying ironic/common/glance_service/__init__.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service copying ironic/common/glance_service/base_image_service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service copying ironic/common/glance_service/service.py -> build/lib.linux-x86_64-2.7/ironic/common/glance_service creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_helper.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs copying ironic/tests/unit/drivers/modules/ucs/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/boot.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc creating build/lib.linux-x86_64-2.7/ironic/api/controllers creating build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_connector.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/chassis.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/port.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/state.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/types.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/ramdisk.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/portgroup.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/collection.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/utils.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 copying ironic/api/controllers/v1/driver.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers/v1 creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo creating build/lib.linux-x86_64-2.7/ironic/db copying ironic/db/migration.py -> build/lib.linux-x86_64-2.7/ironic/db copying ironic/db/__init__.py -> build/lib.linux-x86_64-2.7/ironic/db copying ironic/db/api.py -> build/lib.linux-x86_64-2.7/ironic/db copying ironic/drivers/modules/image_cache.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/fake.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/agent.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/agent_base_vendor.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/pxe.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/inspector.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/iscsi_deploy.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/snmp.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules creating build/lib.linux-x86_64-2.7/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/conf creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage creating build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy copying ironic/tests/unit/api/test_base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_audit.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_acl.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_hooks.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/test_root.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api copying ironic/tests/unit/api/base.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/api creating build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/none.py -> build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib.linux-x86_64-2.7/ironic/dhcp copying ironic/dhcp/base.py -> build/lib.linux-x86_64-2.7/ironic/dhcp creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/job.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/raid.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish copying ironic/api/controllers/__init__.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib.linux-x86_64-2.7/ironic/api/controllers creating build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/conductor.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/__init__.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/dbsync.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/cmd/api.py -> build/lib.linux-x86_64-2.7/ironic/cmd copying ironic/tests/unit/stubs.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit copying ironic/tests/unit/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit creating build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/glance.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/opts.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/agent.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/conductor.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/__init__.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/cinder.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/audit.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/oneview.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/metrics.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/pxe.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/inspector.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/database.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/api.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/default.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/iscsi.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/console.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/keystone.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/ipmi.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/metrics_statsd.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/neutron.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/dhcp.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/ilo.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/irmc.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/service_catalog.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/snmp.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/cisco.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/auth.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/drac.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/swift.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/redfish.py -> build/lib.linux-x86_64-2.7/ironic/conf copying ironic/conf/deploy.py -> build/lib.linux-x86_64-2.7/ironic/conf creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/deploy_utils.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview copying ironic/drivers/modules/oneview/deploy.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/inspect.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/boot.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/vendor.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo creating build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/__init__.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/manager.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/utils.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib.linux-x86_64-2.7/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib.linux-x86_64-2.7/ironic/conductor creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage creating build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_port.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_portgroup.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_target.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_node.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_objects.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_connector.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_fields.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_conductor.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_notification.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects copying ironic/tests/unit/objects/utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/objects creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish creating build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/flat.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.py -> build/lib.linux-x86_64-2.7/ironic/drivers/modules/network copying ironic/tests/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests copying ironic/tests/base.py -> build/lib.linux-x86_64-2.7/ironic/tests creating build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp creating build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api copying ironic_tempest_plugin/tests/api/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common copying ironic_tempest_plugin/common/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common copying ironic_tempest_plugin/common/waiters.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common copying ironic_tempest_plugin/common/utils.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services copying ironic_tempest_plugin/services/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone copying ironic_tempest_plugin/tests/scenario/ironic_standalone/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone copying ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone copying ironic_tempest_plugin/tests/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests copying ironic_tempest_plugin/plugin.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/manager.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/config.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin copying ironic_tempest_plugin/clients.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal copying ironic_tempest_plugin/services/baremetal/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal copying ironic_tempest_plugin/services/baremetal/base.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1 copying ironic_tempest_plugin/services/baremetal/v1/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1 copying ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/baremetal_manager.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario copying ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/api_microversion_fixture.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_volume_target.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_api_discovery.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_nodestates.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_volume_connector.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_nodes.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_drivers.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_chassis.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_ports.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_portgroups.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/test_ports_negative.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin copying ironic_tempest_plugin/tests/api/admin/base.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin creating build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json copying ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json copying ironic_tempest_plugin/services/baremetal/v1/json/__init__.py -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json running egg_info writing requirements to ironic.egg-info/requires.txt writing ironic.egg-info/PKG-INFO writing top-level names to ironic.egg-info/top_level.txt writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt [pbr] Reusing existing SOURCES.txt copying ironic/tests/unit/drivers/boot.ipxe -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/elilo_efi_pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_volumes.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers creating build/lib.linux-x86_64-2.7/ironic/locale creating build/lib.linux-x86_64-2.7/ironic/locale/fr creating build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES copying ironic/locale/fr/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES copying ironic/locale/fr/LC_MESSAGES/ironic-log-info.po -> build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES creating build/lib.linux-x86_64-2.7/ironic/locale/ja creating build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES copying ironic/locale/ja/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES copying ironic/locale/ja/LC_MESSAGES/ironic.po -> build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES creating build/lib.linux-x86_64-2.7/ironic/locale/ko_KR creating build/lib.linux-x86_64-2.7/ironic/locale/ko_KR/LC_MESSAGES copying ironic/locale/ko_KR/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/ko_KR/LC_MESSAGES creating build/lib.linux-x86_64-2.7/ironic/locale/pt_BR creating build/lib.linux-x86_64-2.7/ironic/locale/pt_BR/LC_MESSAGES copying ironic/locale/pt_BR/LC_MESSAGES/ironic-log-critical.po -> build/lib.linux-x86_64-2.7/ironic/locale/pt_BR/LC_MESSAGES copying ironic/drivers/raid_config_schema.json -> build/lib.linux-x86_64-2.7/ironic/drivers copying ironic/common/grub_conf.template -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/common/isolinux_config.template -> build/lib.linux-x86_64-2.7/ironic/common copying ironic/api/app.wsgi -> build/lib.linux-x86_64-2.7/ironic/api copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc copying ironic/drivers/modules/agent_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/boot.ipxe -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/elilo_efi_pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/master_grub_cfg.txt -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib.linux-x86_64-2.7/ironic/drivers/modules copying ironic/db/sqlalchemy/alembic.ini -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy creating build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/README -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/env.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic creating build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions copying ironic_tempest_plugin/README.rst -> build/lib.linux-x86_64-2.7/ironic_tempest_plugin debian/rules override_dh_auto_test make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' ostestr running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --list running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmpBTz6EK running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmp9cW6Qk running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmpMhMrCP running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ${TESTS_DIR:-./ironic/tests/unit/} --load-list /tmp/tmpwHOG0H {3} ironic.tests.unit.api.test_acl.TestACL.test_non_admin [0.276476s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-328eabe7-cc8a-4624-8ab8-aa55a6043a03 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {3} ironic.tests.unit.api.test_acl.TestACL.test_non_authenticated [0.053786s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Keystone uri='https://127.0.0.1:35357' {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}} {3} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.077220s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d41962f9-0128-41a1-a347-c9499bcaea70 {"default_version": {"status": "CURRENT", "min_version": "1.1", "version": "1.34", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}, "versions": [{"status": "CURRENT", "min_version": "1.1", "version": "1.34", "id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}]}], "name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines."} GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-761f373b-ef1d-4e23-b922-0b52443c76ca X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.025331s] ... ok {3} ironic.tests.unit.api.test_base.TestBase.test_api_setup [0.022731s] ... ok {3} ironic.tests.unit.api.test_base.TestBase.test_bad_uri [0.027270s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ 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.test_base.TestVersion.test_greaterthan [0.020772s] ... ok {3} ironic.tests.unit.api.test_base.TestVersion.test_lessthan [0.026874s] ... ok {3} ironic.tests.unit.api.test_base.TestVersion.test_parse_no_header [0.023118s] ... ok {3} ironic.tests.unit.api.test_base.TestVersion.test_repr [0.023204s] ... ok {3} ironic.tests.unit.api.test_base.TestVersion.test_repr_with_strings [0.023314s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.033257s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.033441s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5a9150e8-a66d-41f9-bbdd-d826cab61c23 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.028314s] ... ok {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.044113s] ... ok {3} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.038065s] ... ok {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.047046s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'portgroups': [{u'href': u'http://localhost/v1/portgroups/', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/', u'rel': u'bookmark'}], u'id': u'v1', u'volume': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}], u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.277961s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [0.099186s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fccc3eac-d02f-4b45-9bd8-1b9db182f4d2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6015700-890f-4498-b65a-4a43f904a43a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"media_types": [{"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}], "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "type": "text/html", "rel": "describedby"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "id": "v1"} {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.030763s] ... ok {1} ironic.tests.unit.api.test_base.TestVersion.test_equals [0.153096s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a {0} ironic.tests.unit.api.test_base.TestVersion.test_init [0.028912s] ... ok {1} ironic.tests.unit.api.test_base.TestVersion.test_not_equals [0.032783s] ... ok {0} ironic.tests.unit.api.test_base.TestVersion.test_parse_headers_ok [0.025348s] ... ok {1} ironic.tests.unit.api.test_base.TestVersion.test_parse_headers_latest [0.025775s] ... ok {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.033741s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.030831s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.039019s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.071688s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1d4f6275-0d71-46f9-8b75-acc2eba3ff3e {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.053802s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d48524cf-ee2e-480c-b5e8-a3c27d21644b {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.039979s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-864c4695-a149-4b23-b532-7539e673ebb8 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\"}"} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.033554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e0ddf21d-9120-4290-8991-c485ae84f953 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\"}"} {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.035786s] ... ok {3} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_chassis [0.243860s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-f46bbf31-cfe2-42b6-84de-9abcd6f73f02 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76c5cd21-0948-43b0-be81-356b06b2da82 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\"}"} {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.031271s] ... ok {2} ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header [0.250624s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 868cb606a74a Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-36b152c1-8d01-4f21-b5e3-af7813febc69 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\"}"} {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.033445s] ... ok {2} ironic.tests.unit.api.test_base.TestVersion.test_parse_headers_bad_length [0.024865s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.032210s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.024590s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca29ba50-691e-4062-9651-bf31c404ef6d {"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)\"}"} {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.036322s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.046218s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-64e0689c-8790-46fe-a414-23149bfbb6d2 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {2} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.023538s] ... ok {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.042894s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'portgroups': [{u'href': u'http://localhost/v1/portgroups/', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.027942s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-aea6ef21-f062-4f21-8cf6-7e3af083a8c6 {"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)\"}"} {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.026437s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_chassis.TestChassisObject.test_chassis_init [0.012080s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.029187s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cc2c0c85-72b7-4be7-9f20-50b1d0c4f082 {"error_message": "{\"debuginfo\":null,\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n[u'\"}"} {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.088806s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.026356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-635c761b-4e73-40b5-9309-7bd229328069 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.033970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'lookup': [{u'href': u'http://localhost/v1/lookup/', u'rel': u'self'}, {u'href': u'http://localhost/lookup/', u'rel': u'bookmark'}], u'heartbeat': [{u'href': u'http://localhost/v1/heartbeat/', u'rel': u'self'}, {u'href': u'http://localhost/heartbeat/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.023831s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d2052c29-83f4-4421-a589-4247a180b1ce {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.133144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-883dd4a0-950e-4a3c-8cb4-1d4c7482a7c9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.054618s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/76dcd772-69b3-4892-90c2-f5b017d73469 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-545181f6-ad57-409b-9eb3-5502455e50c8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 76dcd772-69b3-4892-90c2-f5b017d73469 could not be found.\"}"} {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.016187s] ... ok {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.016970s] ... ok {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_detail_against_single [0.032591s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3f71fd3b-d1c4-416c-a2c6-6a190d346e1b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.058064s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python2.7/dist-packages/pkg_resources/__init__.py:187: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need. stacklevel=1, Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86ac6a70-ca8b-4483-aa80-f6a542028466 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.031775s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a7397447-7d0c-480e-b8dc-3b3301f94e78 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.046617s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: / {} GOT:{u'default_version': {u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.34', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}, u'description': u'Ironic is an OpenStack project which aims to provision baremetal machines.', u'name': u'OpenStack Ironic API', u'versions': [{u'status': u'CURRENT', u'min_version': u'1.1', u'version': u'1.34', u'id': u'v1', u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}]}]} {1} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.039530s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis?fields=uuid,extra {} GOT:{u'chassis': [{u'uuid': u'a4a11d63-e88b-4c93-ba8a-e600de67532e', u'links': [{u'href': u'http://localhost/v1/chassis/a4a11d63-e88b-4c93-ba8a-e600de67532e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a4a11d63-e88b-4c93-ba8a-e600de67532e', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'df298681-d086-491e-a216-f35f54526733', u'links': [{u'href': u'http://localhost/v1/chassis/df298681-d086-491e-a216-f35f54526733', u'rel': u'self'}, {u'href': u'http://localhost/chassis/df298681-d086-491e-a216-f35f54526733', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'964870f9-3f67-4366-994a-b8f39a8367ed', u'links': [{u'href': u'http://localhost/v1/chassis/964870f9-3f67-4366-994a-b8f39a8367ed', u'rel': u'self'}, {u'href': u'http://localhost/chassis/964870f9-3f67-4366-994a-b8f39a8367ed', u'rel': u'bookmark'}], u'extra': {}}]} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_collection_links [0.086429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/?limit=3 {} GOT:{u'chassis': [{u'uuid': u'f203dd4d-5fb0-4f0d-babd-633e5bf9fa09', u'links': [{u'href': u'http://localhost/v1/chassis/f203dd4d-5fb0-4f0d-babd-633e5bf9fa09', u'rel': u'self'}, {u'href': u'http://localhost/chassis/f203dd4d-5fb0-4f0d-babd-633e5bf9fa09', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'bcfbf3dc-4079-4655-af1b-6dc92e5049de', u'links': [{u'href': u'http://localhost/v1/chassis/bcfbf3dc-4079-4655-af1b-6dc92e5049de', u'rel': u'self'}, {u'href': u'http://localhost/chassis/bcfbf3dc-4079-4655-af1b-6dc92e5049de', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'68cc3453-e5a0-41b0-996a-7c6482a9f7d7', u'links': [{u'href': u'http://localhost/v1/chassis/68cc3453-e5a0-41b0-996a-7c6482a9f7d7', u'rel': u'self'}, {u'href': u'http://localhost/chassis/68cc3453-e5a0-41b0-996a-7c6482a9f7d7', 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=68cc3453-e5a0-41b0-996a-7c6482a9f7d7'} {0} ironic.tests.unit.api.v1.test_chassis.TestChassisObject.test_chassis_sample [0.015110s] ... ok {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_one [0.039428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.455168+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.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.029845s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-660d3430-3a5c-46d5-8cb1-873b955ac3b0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.035578s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description {} GOT:{u'description': u'data-center-1-chassis', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.088419s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'b7a50b11-04ae-4804-969e-6d9b0302c545', u'links': [{u'href': u'http://localhost/v1/chassis/b7a50b11-04ae-4804-969e-6d9b0302c545', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b7a50b11-04ae-4804-969e-6d9b0302c545', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'd72c9143-a94a-412b-be2f-14691a5a431e', u'links': [{u'href': u'http://localhost/v1/chassis/d72c9143-a94a-412b-be2f-14691a5a431e', u'rel': u'self'}, {u'href': u'http://localhost/chassis/d72c9143-a94a-412b-be2f-14691a5a431e', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'741614e3-7561-4f2b-951c-ff7542e4036a', u'links': [{u'href': u'http://localhost/v1/chassis/741614e3-7561-4f2b-951c-ff7542e4036a', u'rel': u'self'}, {u'href': u'http://localhost/chassis/741614e3-7561-4f2b-951c-ff7542e4036a', 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=741614e3-7561-4f2b-951c-ff7542e4036a'} {1} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_links_public_url [0.069514s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81 {} GOT:{u'uuid': u'8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'links': [{u'href': u'http://foo/v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'rel': u'self'}, {u'href': u'http://foo/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.499625+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81 {} GOT:{u'uuid': u'8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'links': [{u'href': u'http://foo/v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'rel': u'self'}, {u'href': u'http://foo/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.499625+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81 {} GOT:{u'uuid': u'8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'links': [{u'href': u'http://foo/v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'rel': u'self'}, {u'href': u'http://foo/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.499625+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://foo/v1/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81/nodes', u'rel': u'self'}, {u'href': u'http://foo/chassis/8d394b39-57cc-47e2-b78c-8981ab0f6c81/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_links [0.069347s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4 {} GOT:{u'uuid': u'c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'links': [{u'href': u'http://localhost/v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.531306+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4 {} GOT:{u'uuid': u'c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'links': [{u'href': u'http://localhost/v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.531306+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} GET: /chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4 {} GOT:{u'uuid': u'c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'links': [{u'href': u'http://localhost/v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.531306+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/c5981d6c-8fa9-4db0-b918-ad5053ff16d4/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_detail [0.114967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/detail {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.539127+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.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.036464s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-64dbb0bd-d3b4-42d5-aa52-54254db3ea33 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/chassis?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d8cf834-9841-4225-a8ab-aaff53fb38f9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.032902s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.601892+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.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.040075s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cbb63088-cfad-4c93-9a8d-39bae86c36ae X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_one [0.034129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_empty [0.061440s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': []} {1} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.037888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf7aa302-3bfe-4360-a3d3-5352b34e2983 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_add_root_non_existent [0.031069s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c1f11ea-5a39-4eeb-b1f6-32ebb09aa297 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_update_error [0.031532s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b19455f1-bd70-46a6-a032-d18c47a4a3d5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_update_not_found [0.029340s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/1d9a40cc-e285-41bc-b293-58b7341ff00b [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c9ebc9d7-7058-4e2a-af10-eb3e7e335e09 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 1d9a40cc-e285-41bc-b293-58b7341ff00b could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_many [0.085072s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'b9fbc071-ed16-4685-bf99-7c456977f4f9', u'links': [{u'href': u'http://localhost/v1/chassis/b9fbc071-ed16-4685-bf99-7c456977f4f9', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b9fbc071-ed16-4685-bf99-7c456977f4f9', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'36db7590-d9ba-4042-a1ba-26327cedbd53', u'links': [{u'href': u'http://localhost/v1/chassis/36db7590-d9ba-4042-a1ba-26327cedbd53', u'rel': u'self'}, {u'href': u'http://localhost/chassis/36db7590-d9ba-4042-a1ba-26327cedbd53', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'78904819-48ae-41af-875c-e7970fb70921', u'links': [{u'href': u'http://localhost/v1/chassis/78904819-48ae-41af-875c-e7970fb70921', u'rel': u'self'}, {u'href': u'http://localhost/chassis/78904819-48ae-41af-875c-e7970fb70921', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'77077973-c072-4270-ab51-89dbcc7bec58', u'links': [{u'href': u'http://localhost/v1/chassis/77077973-c072-4270-ab51-89dbcc7bec58', u'rel': u'self'}, {u'href': u'http://localhost/chassis/77077973-c072-4270-ab51-89dbcc7bec58', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'f1232c51-ccf0-4ea2-8b0a-a7ff03fd7529', u'links': [{u'href': u'http://localhost/v1/chassis/f1232c51-ccf0-4ea2-8b0a-a7ff03fd7529', u'rel': u'self'}, {u'href': u'http://localhost/chassis/f1232c51-ccf0-4ea2-8b0a-a7ff03fd7529', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {0} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.030105s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-726639f6-a0cf-464b-986a-0f709b27f97c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\"}"} {1} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.046754s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/3b482ec8-c525-4562-a300-7ab114fe8687 Openstack-Request-Id: req-d3335404-7120-4e4c-a17c-b0b3c9989f28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "3b482ec8-c525-4562-a300-7ab114fe8687", "links": [{"href": "http://localhost/v1/chassis/3b482ec8-c525-4562-a300-7ab114fe8687", "rel": "self"}, {"href": "http://localhost/chassis/3b482ec8-c525-4562-a300-7ab114fe8687", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:16.768013+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/3b482ec8-c525-4562-a300-7ab114fe8687/nodes", "rel": "self"}, {"href": "http://localhost/chassis/3b482ec8-c525-4562-a300-7ab114fe8687/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis {} GOT:{u'chassis': [{u'uuid': u'3b482ec8-c525-4562-a300-7ab114fe8687', u'links': [{u'href': u'http://localhost/v1/chassis/3b482ec8-c525-4562-a300-7ab114fe8687', u'rel': u'self'}, {u'href': u'http://localhost/chassis/3b482ec8-c525-4562-a300-7ab114fe8687', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {2} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_multi [0.125691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/a686ec7f-d414-4db2-8194-a72296382431 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f9cd30d2-4812-4ba2-a865-f4417db283a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a686ec7f-d414-4db2-8194-a72296382431", "links": [{"href": "http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431", "rel": "self"}, {"href": "http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:16.706432+00:00", "updated_at": "2017-10-31T14:11:16.720639+00:00", "nodes": [{"href": "http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes", "rel": "self"}, {"href": "http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/a686ec7f-d414-4db2-8194-a72296382431 {} GOT:{u'uuid': u'a686ec7f-d414-4db2-8194-a72296382431', u'links': [{u'href': u'http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo3': u'bar3'}, u'created_at': u'2017-10-31T14:11:16.706432+00:00', u'updated_at': u'2017-10-31T14:11:16.720639+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} PATCH: /v1/chassis/a686ec7f-d414-4db2-8194-a72296382431 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5bfbd7e-ba54-481f-9b44-f092ba0c8de7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a686ec7f-d414-4db2-8194-a72296382431", "links": [{"href": "http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431", "rel": "self"}, {"href": "http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:16.706432+00:00", "updated_at": "2017-10-31T14:11:16.775369+00:00", "nodes": [{"href": "http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes", "rel": "self"}, {"href": "http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes", "rel": "bookmark"}], "description": "foobar"} GET: /v1/chassis/a686ec7f-d414-4db2-8194-a72296382431 {} GOT:{u'uuid': u'a686ec7f-d414-4db2-8194-a72296382431', u'links': [{u'href': u'http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.706432+00:00', u'updated_at': u'2017-10-31T14:11:16.775369+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/a686ec7f-d414-4db2-8194-a72296382431/nodes', u'rel': u'bookmark'}], u'description': u'foobar'} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource [0.272778s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e5e57519-41e3-4cf8-805d-e0f641680341', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e5e57519-41e3-4cf8-805d-e0f641680341', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e5e57519-41e3-4cf8-805d-e0f641680341'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4dd1926a-16e4-4f2e-b17a-40fef82e1cc6', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4dd1926a-16e4-4f2e-b17a-40fef82e1cc6', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4dd1926a-16e4-4f2e-b17a-40fef82e1cc6'}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e5e57519-41e3-4cf8-805d-e0f641680341', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e5e57519-41e3-4cf8-805d-e0f641680341', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e5e57519-41e3-4cf8-805d-e0f641680341'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=1&marker=e5e57519-41e3-4cf8-805d-e0f641680341'} {1} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.038752s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': u'\u0430\u043c\u043e', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-348f74f0-397d-4dcc-a680-f4f477751d15 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:16.807678+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "\u0430\u043c\u043e"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.807678+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'} {0} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_add_multi [0.054736s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b5f71d3-1171-43e2-b335-07c19c10a9d2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2"}, "created_at": "2017-10-31T14:11:16.792025+00:00", "updated_at": "2017-10-31T14:11:16.808254+00:00", "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'bar2'}, u'created_at': u'2017-10-31T14:11:16.792025+00:00', u'updated_at': u'2017-10-31T14:11:16.808254+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'} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.045966s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c9ec2b40-b5e5-4790-9239-4d0e4b7eba19 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.046442s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_singular [0.045835s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f4516b4-1b77-4ce4-a46a-194a9c7a2bdd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "31439338-40c6-49b7-b3d8-469d0cb5fc9a", "links": [{"href": "http://localhost/v1/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a", "rel": "self"}, {"href": "http://localhost/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a", "rel": "bookmark"}], "extra": {"a": "b"}, "created_at": "2017-10-31T14:11:16.849432+00:00", "updated_at": "2017-10-31T14:11:16.863089+00:00", "nodes": [{"href": "http://localhost/v1/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a/nodes", "rel": "self"}, {"href": "http://localhost/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a/nodes", "rel": "bookmark"}], "description": null} GET: /v1/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a {} GOT:{u'uuid': u'31439338-40c6-49b7-b3d8-469d0cb5fc9a', u'links': [{u'href': u'http://localhost/v1/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a', u'rel': u'self'}, {u'href': u'http://localhost/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a', u'rel': u'bookmark'}], u'extra': {u'a': u'b'}, u'created_at': u'2017-10-31T14:11:16.849432+00:00', u'updated_at': u'2017-10-31T14:11:16.863089+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/31439338-40c6-49b7-b3d8-469d0cb5fc9a/nodes', u'rel': u'bookmark'}], u'description': None} {3} ironic.tests.unit.api.v1.test_chassis.TestListChassis.test_sort_key [0.052672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/chassis?sort_key=uuid {} GOT:{u'chassis': [{u'uuid': u'96a9780a-9ce8-4c0d-8f08-7e72f1274c41', u'links': [{u'href': u'http://localhost/v1/chassis/96a9780a-9ce8-4c0d-8f08-7e72f1274c41', u'rel': u'self'}, {u'href': u'http://localhost/chassis/96a9780a-9ce8-4c0d-8f08-7e72f1274c41', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'b1cfc610-b8c8-4355-a8b5-addd917b8594', u'links': [{u'href': u'http://localhost/v1/chassis/b1cfc610-b8c8-4355-a8b5-addd917b8594', u'rel': u'self'}, {u'href': u'http://localhost/chassis/b1cfc610-b8c8-4355-a8b5-addd917b8594', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}, {u'uuid': u'dba542d7-15d5-4cf4-88e6-29e44cfff48b', u'links': [{u'href': u'http://localhost/v1/chassis/dba542d7-15d5-4cf4-88e6-29e44cfff48b', u'rel': u'self'}, {u'href': u'http://localhost/chassis/dba542d7-15d5-4cf4-88e6-29e44cfff48b', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'}]} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_sync [0.044838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7cb1170-6206-4e8d-8d3e-227cf8e8061d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} {2} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_replace_multi [0.103991s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a230740-1a5b-4849-9213-e23448457b95 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "15e7c3f2-943b-44af-9e87-b76bcb0bf678", "links": [{"href": "http://localhost/v1/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678", "rel": "self"}, {"href": "http://localhost/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:16.850473+00:00", "updated_at": "2017-10-31T14:11:16.886448+00:00", "nodes": [{"href": "http://localhost/v1/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678/nodes", "rel": "self"}, {"href": "http://localhost/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678 {} GOT:{u'uuid': u'15e7c3f2-943b-44af-9e87-b76bcb0bf678', u'links': [{u'href': u'http://localhost/v1/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678', u'rel': u'self'}, {u'href': u'http://localhost/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678', u'rel': u'bookmark'}], u'extra': {u'foo1': u'bar1', u'foo2': u'new value', u'foo3': u'bar3'}, u'created_at': u'2017-10-31T14:11:16.850473+00:00', u'updated_at': u'2017-10-31T14:11:16.886448+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/15e7c3f2-943b-44af-9e87-b76bcb0bf678/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_replace_singular [0.048041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b9d1f2f-590b-4fee-9087-3026278dddbb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:16.895560+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "chassis-new-description"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:16.895560+00:00', u'updated_at': u'2000-01-01T00:00:00+00:00', u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'chassis-new-description'} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_no_active_conductor [0.033028s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers {} GOT:{u'drivers': []} {0} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_error [0.027936s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fe72cdb5-fdf8-45b8-99b6-446a08e8987a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_add_root [0.053614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'test', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de3df524-7b7e-4568-b564-683d03458c4b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:16.935832+00:00", "updated_at": "2017-10-31T14:11:16.961974+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"} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_bad_value [0.028588s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6ae8c190-c774-4c40-8eb8-677ff5076295 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\"}"} {0} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.024841s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 1334, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e58527e6-7d2b-4190-8926-3eb1c5067660 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: '1334'. Value should be string\"}"} {3} ironic.tests.unit.api.v1.test_chassis.TestPatch.test_remove_uuid [0.046784s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-411a63ff-4439-44ae-b5ae-3154dde8f7e2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis [0.095586s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-dd80797b-ab47-4c48-8426-4cac0fb25939 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_classic [0.048543s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=classic {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'classic', u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'classic', u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_cached [0.046720s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} {3} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.055924s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'foo': 123}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-ff86e9ee-912d-4f15-ae5a-f1e20f2984aa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:11:17.053962+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:11:17.053962+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_async [0.049998s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-2bd5ed28-13be-41eb-82e1-636acf7ab65e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {2} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.061035s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-b69bebd4-5012-4f8f-8705-551f7f0a69de X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:11:17.073655+00:00", "updated_at": null, "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "description": "data-center-1-chassis"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{u'uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'links': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:11:17.073655+00:00', u'updated_at': None, u'nodes': [{u'href': u'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'self'}, {u'href': u'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', u'rel': u'bookmark'}], u'description': u'data-center-1-chassis'} {3} ironic.tests.unit.api.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.028448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7b06ae4e-4eae-45dc-9775-a3426df2f371 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'. Value should have a maximum character requirement of 255\"}"} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.028831s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a35f9d97-2432-4243-8e85-63447793e366 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The driver 'fake-driver1' is unknown.\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_fake [0.027179s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake/properties {} GOT:{u'prop1': u'Property 1. Required.'} {3} ironic.tests.unit.api.v1.test_chassis.TestPost.test_post_nodes_subresource [0.034214s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/chassis/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b5750778-c19f-4c8a-9202-bcdbd9fd19f2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_cannot_load [0.025181s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-00394bfb-b9d0-4626-aeb6-0111b3e21459 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\"}"} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_methods [0.047089s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/drivers/fake-driver1/vendor_passthru/methods {} GOT:{u'foo': u'bar'} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_delete [0.050083s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/drivers/fake-driver1/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-decfd34f-f759-4ec4-82c6-3fd0c945bdaf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_hw_type [0.035373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/manual-management/properties {} GOT:{u'prop1': u'Property 1. Required.'} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_put [0.047725s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/drivers/fake-driver1/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-6ed3d620-8578-4a31-86e1-c0dd39a94763 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_get [0.044199s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/vendor_passthru/do_test {} GOT:foo {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_with_dynamic [0.197617s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'classic', u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'type': u'classic', u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_detail_bad_version_false [0.026985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a2273141-1bcc-4263-b9b6-a44f8c600e9e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_detail_bad_version [0.024000s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-52dd62dc-281b-4a70-b696-77c360e9896e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_not_found [0.032019s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7f752fe-5da8-46f7-afd9-f9ed939f3a2f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driver1.\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_ok_dynamic [0.090496s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-hardware-type {} GOT:{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} {3} ironic.tests.unit.api.v1.test_drivers.TestDriverProperties.test_driver_properties_invalid_driver_name [0.219335s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8dda71d-7e97-4d65-b267-b9f6aac28342 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_ok_dynamic_storage_interface [0.081513s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-hardware-type {} GOT:{u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_dynamic [0.040245s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=dynamic {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'type': u'dynamic', u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}]}]} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_type_hidden_in_lower_version [0.045491s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.026104s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/drivers/fake-driver1/vendor_passthru {'test_key': 'test_value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2e8ef99-b1a7-447c-9870-82c07b3ce469 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} {1} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.298680s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'enabled_storage_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}], u'name': u'fake-driver2', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1', u'fake-host2']}, {u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'enabled_storage_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']}, {u'default_inspect_interface': None, u'default_storage_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'enabled_storage_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_get_one_ok_classic [0.263977s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1/properties {} GOT:{} GET: /drivers/fake-driver1/properties {} GOT:{} {1} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.019356s] ... ok {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_type_filter_bad_version [0.025974s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-67101512-3cf3-434b-8c1d-762198e633c1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.032810s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'invalid%id^'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f8fc4e93-2754-4a53-bbd0-9698afbd66ec X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a logical name or UUID but received invalid%id^.\"}"} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers [0.125648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers {} GOT:{u'drivers': [{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]}, {u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach [0.033752s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/e06afc80-f561-4297-b568-b98177db321e GOT:Response: 204 No Content Openstack-Request-Id: req-e2e6ae80-d282-4abd-82aa-ca43d634124a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_links_public_url [0.074263s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://foo/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://foo/drivers/fake-driver1', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_list [0.032104s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{u'vifs': []} {1} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.013210s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.011883s] ... ok {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_links [0.078910s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.017862s] ... ok {0} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties_cached [0.065104s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} {3} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties_older_version [0.037026s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c6219dbc-c89a-46c1-956d-02b7d950f543 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_associated [0.041039s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8d174efc-293b-468c-80f0-9065ebf803a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\"}"} {0} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chasis_api_policy [0.041398s] ... ok {3} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.035642s] ... ok {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_drivers_with_dynamic_detailed [0.316245s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers?detail=True {} GOT:{u'drivers': [{u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver2/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2/properties', u'rel': u'bookmark'}], u'name': u'fake-driver2', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1', u'fake-host2']}, {u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}], u'enabled_raid_interfaces': None, u'enabled_management_interfaces': None, u'enabled_deploy_interfaces': None, u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': None, u'default_management_interface': None, u'enabled_power_interfaces': None, u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': None, u'enabled_inspect_interfaces': None, u'enabled_console_interfaces': None, u'properties': [{u'href': u'http://localhost/v1/drivers/fake-driver1/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1/properties', u'rel': u'bookmark'}], u'name': u'fake-driver1', u'default_console_interface': None, u'type': u'classic', u'default_deploy_interface': None, u'enabled_vendor_interfaces': None, u'hosts': [u'fake-host1']}, {u'default_inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}], u'enabled_raid_interfaces': [], u'enabled_management_interfaces': [], u'enabled_deploy_interfaces': [u'iscsi', u'direct'], u'default_boot_interface': None, u'default_raid_interface': None, u'default_power_interface': None, u'enabled_network_interfaces': [], u'default_management_interface': None, u'enabled_power_interfaces': [], u'default_vendor_interface': None, u'default_network_interface': None, u'enabled_boot_interfaces': [], u'enabled_inspect_interfaces': [], u'enabled_console_interfaces': [], u'properties': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type/properties', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type/properties', u'rel': u'bookmark'}], u'name': u'fake-hardware-type', u'default_console_interface': None, u'type': u'dynamic', u'default_deploy_interface': u'direct', u'enabled_vendor_interfaces': [], u'hosts': [u'fake-host1', u'fake-host2']}]} GET: /v1/drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /drivers/fake-driver1 {} GOT:{u'hosts': [u'fake-host1'], u'name': u'fake-driver1', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver1', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver1', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /drivers/fake-driver2 {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-driver2', u'links': [{u'href': u'http://localhost/v1/drivers/fake-driver2', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-driver2', u'rel': u'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{u'hosts': [u'fake-host1', u'fake-host2'], u'name': u'fake-hardware-type', u'links': [{u'href': u'http://localhost/v1/drivers/fake-hardware-type', u'rel': u'self'}, {u'href': u'http://localhost/drivers/fake-hardware-type', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_portgroup_subresource [0.038623s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-be4ec64f-b312-4b30-a1d3-f03d8fa2c2bf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_by_node_name [0.042136s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/node-39/vifs {'id': '166e683f-55a2-4fad-a7de-a1a5f4ea6118'} GOT:Response: 204 No Content Openstack-Request-Id: req-5ab27a77-e294-45e7-a818-8dee010c35ec X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {3} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.051843s] ... ok {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties [0.040717s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:{u'foo': u'description of foo'} {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_no_vif_id [0.037588s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': 'f8ef9573-2b15-4586-a066-459844bccf9b'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eac7b160-c4dd-4676-b037-b8759285ee84 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: id\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.035120s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/node-39/vifs {'id': '78a41814-ca1c-4443-9041-0e58fa65eb7c'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80ac0321-1e77-438b-abca-11efb1539609 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"boom\"}"} {2} ironic.tests.unit.api.v1.test_drivers.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.040358s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/drivers/fake-driver1/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-309afe76-818f-4783-895f-88b3b3788564 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support raid (disabled or not implemented).\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.016813s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_node_locked [0.037031s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '0cf92897-515b-48bf-b755-7cb4052a3bba'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f2d9934d-6f19-4835-a37d-ece7fed0b233 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.014222s] ... ok {3} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_valid [0.014366s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach_node_not_found [0.045239s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/doesntexist/vifs {'id': '2c269be6-347d-4b46-ba16-94b580828fd3'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28919c99-4748-4162-9aff-8f621f408d14 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_not_list [0.024252s] ... ok {2} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.093667s] ... ok {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node [0.058452s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-1a17b9e7-5c5a-412f-9503-b1ec79c59536 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.022283s] ... ok {2} ironic.tests.unit.api.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.043675s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_associated_nodes_insensitive [0.234474s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=true {} GOT:{u'nodes': [{u'instance_uuid': u'86728363-6567-44f9-93cb-a7ac862fa25d', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/49301774-ef7e-4a32-b5e5-8a0e893d7199', u'rel': u'self'}, {u'href': u'http://localhost/nodes/49301774-ef7e-4a32-b5e5-8a0e893d7199', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'49301774-ef7e-4a32-b5e5-8a0e893d7199'}, {u'instance_uuid': u'ec357b79-7eaa-4859-9dc3-166f00e33cb9', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3caae37b-a0f1-4e92-8d0d-6256adc91d36', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3caae37b-a0f1-4e92-8d0d-6256adc91d36', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3caae37b-a0f1-4e92-8d0d-6256adc91d36'}, {u'instance_uuid': u'cae8debe-1b28-4ae6-8980-15fa8d071ab3', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2e555ed8-b4b6-458b-8e77-5f022cad8f66', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2e555ed8-b4b6-458b-8e77-5f022cad8f66', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2e555ed8-b4b6-458b-8e77-5f022cad8f66'}, {u'instance_uuid': u'2d54c661-8833-4301-b9b4-814a564ed4d8', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/d52613b4-8922-42d2-9993-f084078e727c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d52613b4-8922-42d2-9993-f084078e727c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'd52613b4-8922-42d2-9993-f084078e727c'}]} GET: /v1/nodes?associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'86728363-6567-44f9-93cb-a7ac862fa25d', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/49301774-ef7e-4a32-b5e5-8a0e893d7199', u'rel': u'self'}, {u'href': u'http://localhost/nodes/49301774-ef7e-4a32-b5e5-8a0e893d7199', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'49301774-ef7e-4a32-b5e5-8a0e893d7199'}, {u'instance_uuid': u'ec357b79-7eaa-4859-9dc3-166f00e33cb9', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/3caae37b-a0f1-4e92-8d0d-6256adc91d36', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3caae37b-a0f1-4e92-8d0d-6256adc91d36', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'3caae37b-a0f1-4e92-8d0d-6256adc91d36'}, {u'instance_uuid': u'cae8debe-1b28-4ae6-8980-15fa8d071ab3', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2e555ed8-b4b6-458b-8e77-5f022cad8f66', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2e555ed8-b4b6-458b-8e77-5f022cad8f66', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2e555ed8-b4b6-458b-8e77-5f022cad8f66'}, {u'instance_uuid': u'2d54c661-8833-4301-b9b4-814a564ed4d8', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/d52613b4-8922-42d2-9993-f084078e727c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d52613b4-8922-42d2-9993-f084078e727c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'd52613b4-8922-42d2-9993-f084078e727c'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_by_name [0.068198s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 204 No Content Openstack-Request-Id: req-6c75fc75-e41a-4c6f-a026-2e38d777a53a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_maintenance_mode [0.056102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-9b60060b-e8d8-4487-b6ce-4826667f768f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_attach [0.038798s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '556d1f14-cc6c-4386-9257-dff7bc294bf7'} GOT:Response: 204 No Content Openstack-Request-Id: req-38a68324-89b7-4fc2-a46d-a1ac4d15fd28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach_by_node_name [0.031338s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/node-39/vifs/ced6509b-834c-4422-a28c-c8df992768bb GOT:Response: 204 No Content Openstack-Request-Id: req-405bb5a0-7d92-4126-a422-7db1d799dc78 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_by_name_unsupported [0.054408s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-73046831-5cc6-4849-8ba8-01397ae234bf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_not_found_by_name [0.048464s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c373ce64-a054-48e5-8e5a-5f15b9f43db9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail [0.082321s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:18.049088+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach_node_locked [0.031010s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/5501a752-bc14-4dee-84ec-36a79525f75b GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-cba1a252-1078-49d2-9028-9b7aabaf4eb6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_ports_subresource [0.047088s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-045aff73-a622-4398-a5c6-f74fe16f5ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_ports_subresource_no_port_id [0.054551s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bbd10637-5410-49d7-a315-cdd544c6a86e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_detach_node_not_found [0.040912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/doesntexist/vifs/20f59a06-a96c-4cdd-9f73-aee8987d8490 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b92c36c-91d1-4aed-97ab-ead57d730d79 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.035731s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-60b8ae53-b695-4c69-8771-79e3e610425e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestAttachDetachVif.test_vif_subcontroller_old_version [0.023612s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_empty [0.080898s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': []} {2} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.018019s] ... ok {2} ironic.tests.unit.api.v1.test_nodes.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.011081s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_volume_targets_subresource [0.044443s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b509869-05b8-46d0-a286-5359ad73ccec X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_maintenance_mode_by_name [0.031821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-7880493e-bb4b-4a41-bf28-835ea4e67806 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.052337s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cefc8b1a-9ce6-4a67-8085-d04d9be187c0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_not_found [0.025373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-48c2a21d-fcdc-4e5d-abbf-42a80ac941c8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_node_not_found_by_name_unsupported [0.024048s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8cac03dc-dc9d-48cc-8ce3-03099e773d45 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_associated_nodes_error [0.073391s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-991113c5-91e9-4837-bfd5-596a7e9a9885 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute associated. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestDelete.test_delete_volume_connectors_subresource [0.037985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0b5d254d-7edf-4f22-b96e-72d349f7ca0d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_against_single [0.032614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9330f2da-95a5-406f-a023-d13006db5e75 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_collection_links_default_limit [0.216359s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b7bc2980-974f-44f4-99bb-de18f5d7dce9', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b7bc2980-974f-44f4-99bb-de18f5d7dce9', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b7bc2980-974f-44f4-99bb-de18f5d7dce9'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/d90222c7-b486-40d2-878a-fcb618361e7c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/d90222c7-b486-40d2-878a-fcb618361e7c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'd90222c7-b486-40d2-878a-fcb618361e7c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/345817e4-0068-4f83-a38b-241665c9fb86', u'rel': u'self'}, {u'href': u'http://localhost/nodes/345817e4-0068-4f83-a38b-241665c9fb86', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'345817e4-0068-4f83-a38b-241665c9fb86'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=345817e4-0068-4f83-a38b-241665c9fb86'} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_sort_key_not_allowed [0.042827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a2158788-8e5c-44f3-b685-120b5c38ed24 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_collection_custom_fields [0.180592s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?fields=uuid,instance_info {} GOT:{u'nodes': [{u'uuid': u'fc2649fd-6e94-40cb-8b40-0449ab242013', u'links': [{u'href': u'http://localhost/v1/nodes/fc2649fd-6e94-40cb-8b40-0449ab242013', u'rel': u'self'}, {u'href': u'http://localhost/nodes/fc2649fd-6e94-40cb-8b40-0449ab242013', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'0715da6f-b57f-4de8-9127-443b770db623', u'links': [{u'href': u'http://localhost/v1/nodes/0715da6f-b57f-4de8-9127-443b770db623', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0715da6f-b57f-4de8-9127-443b770db623', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}, {u'uuid': u'e9b13f16-20b4-415a-b1f3-02f0341b261e', u'links': [{u'href': u'http://localhost/v1/nodes/e9b13f16-20b4-415a-b1f3-02f0341b261e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e9b13f16-20b4-415a-b1f3-02f0341b261e', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_sort_key_allowed [0.117374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?sort_key=resource_class {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/526d2515-2b3c-453e-8e9f-e4960c62dc01', u'rel': u'self'}, {u'href': u'http://localhost/nodes/526d2515-2b3c-453e-8e9f-e4960c62dc01', 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/526d2515-2b3c-453e-8e9f-e4960c62dc01/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/526d2515-2b3c-453e-8e9f-e4960c62dc01/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'526d2515-2b3c-453e-8e9f-e4960c62dc01', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_1', u'created_at': u'2017-10-31T14:11:18.373226+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/526d2515-2b3c-453e-8e9f-e4960c62dc01/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/526d2515-2b3c-453e-8e9f-e4960c62dc01/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1c9cebef-78cb-4016-b92f-f21ec2a2f418', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1c9cebef-78cb-4016-b92f-f21ec2a2f418', 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/1c9cebef-78cb-4016-b92f-f21ec2a2f418/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1c9cebef-78cb-4016-b92f-f21ec2a2f418/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1c9cebef-78cb-4016-b92f-f21ec2a2f418', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_2', u'created_at': u'2017-10-31T14:11:18.366027+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/1c9cebef-78cb-4016-b92f-f21ec2a2f418/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1c9cebef-78cb-4016-b92f-f21ec2a2f418/ports', u'rel': u'bookmark'}]}, {u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/895f3178-d076-4a08-ab05-0357e3b7a427', u'rel': u'self'}, {u'href': u'http://localhost/nodes/895f3178-d076-4a08-ab05-0357e3b7a427', 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/895f3178-d076-4a08-ab05-0357e3b7a427/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/895f3178-d076-4a08-ab05-0357e3b7a427/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'895f3178-d076-4a08-ab05-0357e3b7a427', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'rc_3', u'created_at': u'2017-10-31T14:11:18.360687+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/895f3178-d076-4a08-ab05-0357e3b7a427/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/895f3178-d076-4a08-ab05-0357e3b7a427/ports', u'rel': u'bookmark'}]}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_collection_links [0.133497s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/?limit=3 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/76e6662f-53c4-4fd4-a52e-8333b74b6c4c', u'rel': u'self'}, {u'href': u'http://localhost/nodes/76e6662f-53c4-4fd4-a52e-8333b74b6c4c', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'76e6662f-53c4-4fd4-a52e-8333b74b6c4c'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a674b70d-7baa-4f7f-9f7f-745c31003a96', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a674b70d-7baa-4f7f-9f7f-745c31003a96', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a674b70d-7baa-4f7f-9f7f-745c31003a96'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5f96f043-e9a1-4b98-8a14-0b89259cb61b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5f96f043-e9a1-4b98-8a14-0b89259cb61b', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'5f96f043-e9a1-4b98-8a14-0b89259cb61b'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=3&marker=5f96f043-e9a1-4b98-8a14-0b89259cb61b'} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information_console_disabled [0.074460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': False, u'console_info': None} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_custom_fields_invalid_api_version [0.053295s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7f9ff20e-1818-46bc-b4e3-e2af1b789a54 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_boot_device [0.047137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.049597s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0cd435c5-2758-4d4e-9212-be7e71159990 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_boot_device_by_name [0.044365s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/spam/management/boot_device {} GOT:{u'boot_device': u'pxe', u'persistent': True} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information_not_supported [0.073864s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d86944b-f0ea-446b-bbe6-547d447a3db2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.045691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f3ec4dbd-e80f-4a03-9b55-ad168800fc3f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_boot_device_iface_not_supported [0.046084s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b211bc82-682d-4042-ace5-1d41d7d20d41 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_with_association_filter [0.137988s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/80b12474-d602-4d82-8318-1e9aad9f7545', u'rel': u'self'}, {u'href': u'http://localhost/nodes/80b12474-d602-4d82-8318-1e9aad9f7545', 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'80b12474-d602-4d82-8318-1e9aad9f7545', 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'be23bc74-7b2b-40ab-8854-c43391088be2', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.512760+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/80b12474-d602-4d82-8318-1e9aad9f7545/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/80b12474-d602-4d82-8318-1e9aad9f7545/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/c92cb428-910d-4b26-a0b9-dbf869ddfaee', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c92cb428-910d-4b26-a0b9-dbf869ddfaee', 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'c92cb428-910d-4b26-a0b9-dbf869ddfaee', 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'af18eea7-5b8b-4d82-a462-2218640d0a41', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.517448+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/c92cb428-910d-4b26-a0b9-dbf869ddfaee/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c92cb428-910d-4b26-a0b9-dbf869ddfaee/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/2a17696b-6087-4305-84e9-cac2b4d6d2a8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2a17696b-6087-4305-84e9-cac2b4d6d2a8', 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'2a17696b-6087-4305-84e9-cac2b4d6d2a8', 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'a50889a4-9a1c-4e0a-a7bb-7e12e238e9ec', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.522085+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/2a17696b-6087-4305-84e9-cac2b4d6d2a8/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2a17696b-6087-4305-84e9-cac2b4d6d2a8/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/08372d61-c2d9-41e7-ada7-35e2b6abb446', u'rel': u'self'}, {u'href': u'http://localhost/nodes/08372d61-c2d9-41e7-ada7-35e2b6abb446', 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'08372d61-c2d9-41e7-ada7-35e2b6abb446', 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'1c98d8d1-4f06-47c5-904a-18ce6bd69c61', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.526749+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/08372d61-c2d9-41e7-ada7-35e2b6abb446/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/08372d61-c2d9-41e7-ada7-35e2b6abb446/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information_by_name [0.044272s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/spam/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_network_interface_fields [0.102932s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:{u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'network_interface': None} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_detail_with_instance_uuid [0.052482s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?instance_uuid=7518da6f-0245-4e90-92a8-8f98e15d4934 {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/05378421-2a3a-490a-81a1-4ace70fb8701', u'rel': u'self'}, {u'href': u'http://localhost/nodes/05378421-2a3a-490a-81a1-4ace70fb8701', 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'05378421-2a3a-490a-81a1-4ace70fb8701', 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'7518da6f-0245-4e90-92a8-8f98e15d4934', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.630825+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/05378421-2a3a-490a-81a1-4ace70fb8701/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/05378421-2a3a-490a-81a1-4ace70fb8701/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_driver [0.084634s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?driver=test {} GOT:{u'nodes': []} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_custom_fields_invalid_fields [0.050994s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c90aeae9-2f60-4ba3-ac75-99bd485b907d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_all_interface_fields [0.051483s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} GOT:{u'management_interface': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_interface': None, u'deploy_interface': None, u'boot_interface': None, u'console_interface': None, u'raid_interface': None, u'vendor_interface': None} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_provision_state [0.029473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f0b6fe1-62cf-4fba-86b9-5a4d707ebe76 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_resource_class [0.081463s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?resource_class=test {} GOT:{u'nodes': []} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_console_information [0.039218s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{u'console_enabled': True, u'console_info': {u'test': u'test-data'}} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_storage_interface_fields [0.061329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:{u'storage_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.043510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3f706ace-22b9-45e2-8f84-2ded4c4db7e4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.035885s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2bab0204-1e7e-477a-b2d5-8a7a670bc94c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.049088s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1c6a81e4-1daf-4ed6-82e8-58f688e9d523 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_supported_boot_devices_by_name [0.044312s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class [0.118956s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?resource_class=foo {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/0255eace-7740-4b6f-a8bc-5fcae71c6989', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0255eace-7740-4b6f-a8bc-5fcae71c6989', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'0255eace-7740-4b6f-a8bc-5fcae71c6989'}]} GET: /v1/nodes?resource_class=bar {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/92f54581-45d4-41db-99ef-6c6ac4a34483', u'rel': u'self'}, {u'href': u'http://localhost/nodes/92f54581-45d4-41db-99ef-6c6ac4a34483', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'92f54581-45d4-41db-99ef-6c6ac4a34483'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_driver [0.219441s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?driver=pxe_ipmitool {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2cd7f968-93cf-4bf3-aaf9-fd51840dc5cc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2cd7f968-93cf-4bf3-aaf9-fd51840dc5cc', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'2cd7f968-93cf-4bf3-aaf9-fd51840dc5cc'}]} GET: /v1/nodes?driver=fake {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6a97750e-9be3-44c1-9259-a2353085b2ad', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6a97750e-9be3-44c1-9259-a2353085b2ad', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'6a97750e-9be3-44c1-9259-a2353085b2ad'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.045259s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a420d9b8-05b4-4e33-ab18-3ee7d2d65361 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.084105s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.901543+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {u'foo': u'bar'}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.901543+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.086662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?resource_class=test {} GOT:{u'nodes': []} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_one [0.086512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:18.931774+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_resource_class_detail [0.115513s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?resource_class=foo {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/3ace3247-6784-4ff5-9d3e-b82435a2902d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3ace3247-6784-4ff5-9d3e-b82435a2902d', 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/3ace3247-6784-4ff5-9d3e-b82435a2902d/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3ace3247-6784-4ff5-9d3e-b82435a2902d/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'3ace3247-6784-4ff5-9d3e-b82435a2902d', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2017-10-31T14:11:18.898025+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/3ace3247-6784-4ff5-9d3e-b82435a2902d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/3ace3247-6784-4ff5-9d3e-b82435a2902d/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/f6363c6e-b828-41f8-82de-7f0a56fbf044', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f6363c6e-b828-41f8-82de-7f0a56fbf044', 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/f6363c6e-b828-41f8-82de-7f0a56fbf044/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f6363c6e-b828-41f8-82de-7f0a56fbf044/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'f6363c6e-b828-41f8-82de-7f0a56fbf044', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'bar', u'created_at': u'2017-10-31T14:11:18.903069+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/f6363c6e-b828-41f8-82de-7f0a56fbf044/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f6363c6e-b828-41f8-82de-7f0a56fbf044/ports', u'rel': u'bookmark'}]}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_one_custom_fields_show_password [0.059912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info {} GOT:{u'driver_info': {u'fake_password': u'******'}, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_one_custom_fields [0.086049s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} GOT:{u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.127512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:18.986266+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2017-10-31T14:11:18.986266+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.040684s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f3c34932-896b-4b6e-b3e9-1fe55f6e7650 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_supported_boot_devices [0.063792s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:{u'supported_boot_devices': [u'pxe']} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_get_nodes_by_provision_state [0.198616s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?provision_state=available {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6aef0cb9-1302-47ee-8109-fbacf5e3b54e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6aef0cb9-1302-47ee-8109-fbacf5e3b54e', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'6aef0cb9-1302-47ee-8109-fbacf5e3b54e'}]} GET: /v1/nodes?provision_state=deploying {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c03e0534-c77b-49f3-8665-5620aa1fcadd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c03e0534-c77b-49f3-8665-5620aa1fcadd', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'deploying', u'uuid': u'c03e0534-c77b-49f3-8665-5620aa1fcadd'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_volume [0.086677s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.116910+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.116910+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.112196s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.119817+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.119817+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.129626s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.178780+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': u'2015-03-18T19:20:00+00:00', u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.178780+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_name [0.076907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.233620+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': u'fish', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.233620+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_links_public_url [0.113929s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e', u'rel': u'self'}, {u'href': u'http://foo/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e', 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'254fc9c9-f494-458c-9817-36d3baab1e1e', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.204510+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e/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/254fc9c9-f494-458c-9817-36d3baab1e1e {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e', u'rel': u'self'}, {u'href': u'http://foo/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e', 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'254fc9c9-f494-458c-9817-36d3baab1e1e', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.204510+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e/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/254fc9c9-f494-458c-9817-36d3baab1e1e {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://foo/v1/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e', u'rel': u'self'}, {u'href': u'http://foo/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e', 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'254fc9c9-f494-458c-9817-36d3baab1e1e', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.204510+00:00', u'ports': [{u'href': u'http://foo/v1/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e/ports', u'rel': u'self'}, {u'href': u'http://foo/nodes/254fc9c9-f494-458c-9817-36d3baab1e1e/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.136542s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.203500+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.203500+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'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.115706s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.316523+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.316523+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_many [0.141191s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c1b5b6bf-7b7d-437c-a240-54069a6d9400', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c1b5b6bf-7b7d-437c-a240-54069a6d9400', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c1b5b6bf-7b7d-437c-a240-54069a6d9400'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/88c7fe8a-a44d-41d2-b9be-96acd7a98af3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/88c7fe8a-a44d-41d2-b9be-96acd7a98af3', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'88c7fe8a-a44d-41d2-b9be-96acd7a98af3'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7bf7ef4e-6503-49e8-8b85-32ae030cb1b2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7bf7ef4e-6503-49e8-8b85-32ae030cb1b2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7bf7ef4e-6503-49e8-8b85-32ae030cb1b2'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/63e67c2e-cb7a-46b6-b843-28a7c04ab713', u'rel': u'self'}, {u'href': u'http://localhost/nodes/63e67c2e-cb7a-46b6-b843-28a7c04ab713', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'63e67c2e-cb7a-46b6-b843-28a7c04ab713'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/4b8e7589-602e-4d5b-9f1d-8548402bb7cc', u'rel': u'self'}, {u'href': u'http://localhost/nodes/4b8e7589-602e-4d5b-9f1d-8548402bb7cc', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'4b8e7589-602e-4d5b-9f1d-8548402bb7cc'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_links [0.179741s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/35621144-1b09-496a-bcf8-d077211e1f6d {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/35621144-1b09-496a-bcf8-d077211e1f6d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/35621144-1b09-496a-bcf8-d077211e1f6d', 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'35621144-1b09-496a-bcf8-d077211e1f6d', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.311481+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/35621144-1b09-496a-bcf8-d077211e1f6d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/35621144-1b09-496a-bcf8-d077211e1f6d/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/35621144-1b09-496a-bcf8-d077211e1f6d {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/35621144-1b09-496a-bcf8-d077211e1f6d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/35621144-1b09-496a-bcf8-d077211e1f6d', 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'35621144-1b09-496a-bcf8-d077211e1f6d', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.311481+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/35621144-1b09-496a-bcf8-d077211e1f6d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/35621144-1b09-496a-bcf8-d077211e1f6d/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/35621144-1b09-496a-bcf8-d077211e1f6d {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/35621144-1b09-496a-bcf8-d077211e1f6d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/35621144-1b09-496a-bcf8-d077211e1f6d', 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'35621144-1b09-496a-bcf8-d077211e1f6d', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.311481+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/35621144-1b09-496a-bcf8-d077211e1f6d/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/35621144-1b09-496a-bcf8-d077211e1f6d/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.191914s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.337993+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.337993+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_mask_available_state [0.087602s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.464985+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.464985+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'******'}} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_next_link_with_association [0.119900s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/?limit=3&associated=True {} GOT:{u'nodes': [{u'instance_uuid': u'bdde23d4-a76b-4bf9-a02b-4249394367b6', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1fa6fb00-2216-4d5c-921b-6f2eb96379e5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1fa6fb00-2216-4d5c-921b-6f2eb96379e5', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1fa6fb00-2216-4d5c-921b-6f2eb96379e5'}, {u'instance_uuid': u'5bd743da-e184-45cb-9103-2bdbde9da4a1', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7cc2df03-0281-4cf4-bb73-d0baacad0228', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7cc2df03-0281-4cf4-bb73-d0baacad0228', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7cc2df03-0281-4cf4-bb73-d0baacad0228'}, {u'instance_uuid': u'240ea4d2-efa7-48b7-bd03-ce12c2b9ec2f', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b591198f-a6e2-4e73-a83f-fcdcded76a03', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b591198f-a6e2-4e73-a83f-fcdcded76a03', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b591198f-a6e2-4e73-a83f-fcdcded76a03'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=b591198f-a6e2-4e73-a83f-fcdcded76a03'} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.056080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.553626+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'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_portgroups_subresource_old_api_version [0.028156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_next_link_with_association_with_detail [0.127501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{u'nodes': [{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/0052f714-dbca-4a76-bc2b-5491ec275083', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0052f714-dbca-4a76-bc2b-5491ec275083', 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'0052f714-dbca-4a76-bc2b-5491ec275083', 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'e91ada7d-6361-4b50-bd2c-3e00d138bf6c', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.566161+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/0052f714-dbca-4a76-bc2b-5491ec275083/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0052f714-dbca-4a76-bc2b-5491ec275083/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/bdb985a8-a3c1-4302-896f-5953556e4b49', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bdb985a8-a3c1-4302-896f-5953556e4b49', 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'bdb985a8-a3c1-4302-896f-5953556e4b49', 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'e12a061a-8d1f-4023-aa6e-d838fc705274', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.570983+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/bdb985a8-a3c1-4302-896f-5953556e4b49/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/bdb985a8-a3c1-4302-896f-5953556e4b49/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/029fd037-a383-44c3-b613-b240c19e5b78', u'rel': u'self'}, {u'href': u'http://localhost/nodes/029fd037-a383-44c3-b613-b240c19e5b78', 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'029fd037-a383-44c3-b613-b240c19e5b78', 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'4209097d-93a5-4ca1-93d5-f4aa383f1aa8', u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.575782+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/029fd037-a383-44c3-b613-b240c19e5b78/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/029fd037-a383-44c3-b613-b240c19e5b78/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=029fd037-a383-44c3-b613-b240c19e5b78'} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.028219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ab8c3d4-3bbd-4862-ba27-2946eaa89c8e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute instance_uuid. Value: 'fake'. unable to convert to uuid. Error: Expected a UUID but received fake.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key_invalid [0.080873s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02d7050c-f2b9-4aeb-841c-5af4561f576f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b55ae11f-a7c7-45b3-ba5b-6eccf754bfb6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4ce0400-57e5-4769-adf6-794cb570594f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-993dc155-5486-4a6d-9e48-a97f43bd688e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=instance_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d151611-d674-423a-8d88-a028f1f20fe1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=driver_internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6dcea814-f027-46c2-ac49-291ad3cf0cdb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\"}"} GET: /v1/nodes?sort_key=clean_step {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ac5a6abf-838a-4c87-98a1-7116ffdb4c02 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.037116s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?instance_uuid=656dca8d-c7b6-4153-9db3-383bab77fafa {} GOT:{u'nodes': []} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_maintenance_nodes [0.292574s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/37dc1ca8-10f8-4752-8472-f379e65ac0c2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/37dc1ca8-10f8-4752-8472-f379e65ac0c2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'37dc1ca8-10f8-4752-8472-f379e65ac0c2'}, {u'instance_uuid': None, u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/a786469a-47d8-4bb0-a782-74d70ea331f7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a786469a-47d8-4bb0-a782-74d70ea331f7', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'a786469a-47d8-4bb0-a782-74d70ea331f7'}]} GET: /v1/nodes?maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/7c535dc3-d18d-434b-b7bd-84ac3375a939', u'rel': u'self'}, {u'href': u'http://localhost/nodes/7c535dc3-d18d-434b-b7bd-84ac3375a939', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'7c535dc3-d18d-434b-b7bd-84ac3375a939'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/241aedb6-2f54-4478-a900-490284b16043', u'rel': u'self'}, {u'href': u'http://localhost/nodes/241aedb6-2f54-4478-a900-490284b16043', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'241aedb6-2f54-4478-a900-490284b16043'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/67429f75-1583-498c-846e-90815552d0d1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/67429f75-1583-498c-846e-90815552d0d1', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'67429f75-1583-498c-846e-90815552d0d1'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states_field_hidden_in_lower_version [0.051391s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:19.747265+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'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_unassociated_nodes_with_limit [0.121624s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=False&limit=2 {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e9a7602e-5bc5-4921-a520-d4e690777804', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e9a7602e-5bc5-4921-a520-d4e690777804', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e9a7602e-5bc5-4921-a520-d4e690777804'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/c316b734-0260-48be-8b4a-89175016e8ee', u'rel': u'self'}, {u'href': u'http://localhost/nodes/c316b734-0260-48be-8b4a-89175016e8ee', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'c316b734-0260-48be-8b4a-89175016e8ee'}], u'next': u'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&limit=2&marker=c316b734-0260-48be-8b4a-89175016e8ee'} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_portgroups_subresource_link [0.049331s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.799828+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_invalid_ident [0.022823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/123~123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 123~123. "} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_subresource_invalid_api_version [0.061368s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0d38936-a712-41ed-9e33-c8b7b272f38b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_node_not_found [0.032985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dce6868b-e800-4c8b-a943-c6ab3db03859 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_maintenance_nodes_associated [0.414293s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=true&maintenance=false {} GOT:{u'nodes': [{u'instance_uuid': u'745207e7-2a07-4aad-b81b-8870a676e2fa', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/b05a4f6f-2d19-4d2d-9d0c-a07b2eb3c384', u'rel': u'self'}, {u'href': u'http://localhost/nodes/b05a4f6f-2d19-4d2d-9d0c-a07b2eb3c384', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'b05a4f6f-2d19-4d2d-9d0c-a07b2eb3c384'}, {u'instance_uuid': u'8095e767-b0f9-4e44-8b4a-3b6a995f4ce3', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2f5dc639-a773-416e-8cec-f2bcfd271d14', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2f5dc639-a773-416e-8cec-f2bcfd271d14', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'2f5dc639-a773-416e-8cec-f2bcfd271d14'}, {u'instance_uuid': u'c2d3e8c2-f3b5-48eb-852a-b70d6367d15b', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/89871477-5920-42f5-af41-b17ca499dcb3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/89871477-5920-42f5-af41-b17ca499dcb3', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'89871477-5920-42f5-af41-b17ca499dcb3'}, {u'instance_uuid': u'584afba0-b379-4bf4-a92f-4b97478e55d8', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/e0bd4bad-7d59-4f98-9ef9-f38f584df609', u'rel': u'self'}, {u'href': u'http://localhost/nodes/e0bd4bad-7d59-4f98-9ef9-f38f584df609', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'e0bd4bad-7d59-4f98-9ef9-f38f584df609'}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{u'nodes': [{u'instance_uuid': u'f0906433-2604-467b-9615-83935ecc85de', u'maintenance': True, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes?associated=true&maintenance=TruE {} GOT:{u'nodes': [{u'instance_uuid': u'f0906433-2604-467b-9615-83935ecc85de', 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'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_noid [0.040105s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bed3352e-b359-47db-bd7c-bcf7a8a23cd2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node ports could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_maintenance_nodes_error [0.050596s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-38f6e271-2b84-43d6-bac5-6672dae6c199 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute maintenance. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.036819s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3ba043b1-f6da-4ca8-9ba4-160bb75f6902 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_many_have_names [0.234588s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/2ace7555-9f54-4102-a690-fbb9afe635d7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/2ace7555-9f54-4102-a690-fbb9afe635d7', u'rel': u'bookmark'}], u'name': u'node-0', u'power_state': None, u'provision_state': u'available', u'uuid': u'2ace7555-9f54-4102-a690-fbb9afe635d7'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/737b5cde-8f31-4488-9414-f01c9199bcc3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/737b5cde-8f31-4488-9414-f01c9199bcc3', u'rel': u'bookmark'}], u'name': u'node-1', u'power_state': None, u'provision_state': u'available', u'uuid': u'737b5cde-8f31-4488-9414-f01c9199bcc3'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6d2d736f-aa66-4819-9678-a1ddfa31a42a', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6d2d736f-aa66-4819-9678-a1ddfa31a42a', u'rel': u'bookmark'}], u'name': u'node-2', u'power_state': None, u'provision_state': u'available', u'uuid': u'6d2d736f-aa66-4819-9678-a1ddfa31a42a'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/769f4ce6-2541-4023-9c59-738d657d62b3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/769f4ce6-2541-4023-9c59-738d657d62b3', u'rel': u'bookmark'}], u'name': u'node-3', u'power_state': None, u'provision_state': u'available', u'uuid': u'769f4ce6-2541-4023-9c59-738d657d62b3'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/5785fd30-cc46-4f98-a94e-6bb2afd1ab00', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5785fd30-cc46-4f98-a94e-6bb2afd1ab00', u'rel': u'bookmark'}], u'name': u'node-4', u'power_state': None, u'provision_state': u'available', u'uuid': u'5785fd30-cc46-4f98-a94e-6bb2afd1ab00'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_targets_subresource [0.108281s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1cb9fb2a-957e-459e-95f3-71f2f9af22ce', u'links': [{u'href': u'http://localhost/v1/volume/targets/1cb9fb2a-957e-459e-95f3-71f2f9af22ce', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1cb9fb2a-957e-459e-95f3-71f2f9af22ce', 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'0fbba410-a938-43fd-87ac-48f6e047717f', u'links': [{u'href': u'http://localhost/v1/volume/targets/0fbba410-a938-43fd-87ac-48f6e047717f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0fbba410-a938-43fd-87ac-48f6e047717f', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1cb9fb2a-957e-459e-95f3-71f2f9af22ce', u'links': [{u'href': u'http://localhost/v1/volume/targets/1cb9fb2a-957e-459e-95f3-71f2f9af22ce', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1cb9fb2a-957e-459e-95f3-71f2f9af22ce', 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=1cb9fb2a-957e-459e-95f3-71f2f9af22ce'} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ssh_creds_masked [0.057475s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'ssh_password': u'******', u'ssh_key_contents': u'******'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:19.989684+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.v1.test_nodes.TestListNodes.test_volume_targets_subresource_node_not_found [0.041192s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9b5c616d-cb2e-4274-bb7c-e73cc43320de X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_by_instance_uuid [0.091954s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?instance_uuid=60263f3e-ae7a-4ed3-9dc1-678a1c8a66d7 {} GOT:{u'nodes': [{u'instance_uuid': u'60263f3e-ae7a-4ed3-9dc1-678a1c8a66d7', u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/f33ea0d8-0db4-449a-a707-a7b271b8f3f7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f33ea0d8-0db4-449a-a707-a7b271b8f3f7', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'f33ea0d8-0db4-449a-a707-a7b271b8f3f7'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_subresource [0.033361s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states_by_name [0.074492s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eggs/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'provision_updated_at': u'1971-03-09T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state'} {0} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_targets_subresource_noid [0.053705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45818ddc-3d87-4e98-a8aa-63f4a6671a1f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_subresource_link [0.051894s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:20.083100+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states [0.071340s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'provision_updated_at': u'2000-01-01T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state'} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_states_raid [0.068156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{u'target_power_state': u'fake-state', u'target_provision_state': u'fake-state', u'last_error': u'fake-error', u'console_enabled': False, u'raid_config': {u'foo': u'bar'}, u'provision_updated_at': u'2000-01-01T00:00:00+00:00', u'power_state': u'fake-state', u'provision_state': u'fake-state', u'target_raid_config': {u'foo': u'bar'}} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_chassis_id [0.054881s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-01a740c1-3eb3-4478-aca1-a296828733db X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/chassis_id) to the root of the resource is not allowed\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_root [0.082719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46a00c5b-c751-4f21-98f7-c53673ed7647 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:20.135531+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_empty_not_acceptable [0.049364s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': '', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7e81c3ea-5457-4ebf-a6ba-7922bf4a7807 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.090675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:20.167870+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_root_non_existent [0.052448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c74b329-0c9a-4da6-a462-ade66960ffcf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_one [0.115752s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_invalid [0.057967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'i am invalid', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aa43d07d-e801-4d30-89fa-829ab845d18f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_state_in_cleaning [0.050484s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/7fb610ce-f831-4917-ab06-6994b3dd26db [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a726b1c1-554b-44ef-a88f-427593578552 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 7fb610ce-f831-4917-ab06-6994b3dd26db can not be updated while a state transition is in progress.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_replace_invalid [0.053144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-608114c6-d928-4556-b1fd-70a8614efd90 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_duplicate_name [0.053540s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/72323e5d-93d8-4ce7-baf6-8cdece13f0e6 [{'path': '/name', 'value': 'this-is-my-node', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-184b8311-8853-44d4-91c0-f73ef9160dab X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_update_name_twice_both_invalid [0.052501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'Windows ME', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe18a2c8-6b58-4e27-ab8b-89d804f553b6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_portgroups_subresource [0.121318s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'3dda0645-ecfc-4029-824d-b8405751ebd1', u'links': [{u'href': u'http://localhost/v1/portgroups/3dda0645-ecfc-4029-824d-b8405751ebd1', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/3dda0645-ecfc-4029-824d-b8405751ebd1', u'rel': u'bookmark'}], u'name': u'pg-0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'dc73cd5e-54cd-46d6-8dda-3e48f0a1ea68', u'links': [{u'href': u'http://localhost/v1/portgroups/dc73cd5e-54cd-46d6-8dda-3e48f0a1ea68', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/dc73cd5e-54cd-46d6-8dda-3e48f0a1ea68', u'rel': u'bookmark'}], u'name': u'pg-1'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'3dda0645-ecfc-4029-824d-b8405751ebd1', u'links': [{u'href': u'http://localhost/v1/portgroups/3dda0645-ecfc-4029-824d-b8405751ebd1', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/3dda0645-ecfc-4029-824d-b8405751ebd1', 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=3dda0645-ecfc-4029-824d-b8405751ebd1'} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key [0.159897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=uuid {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/711c3417-1881-4ed2-a9ec-a780537f4fb2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/711c3417-1881-4ed2-a9ec-a780537f4fb2', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'711c3417-1881-4ed2-a9ec-a780537f4fb2'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/71483aee-70ed-4eb1-8445-6b56664ddd52', u'rel': u'self'}, {u'href': u'http://localhost/nodes/71483aee-70ed-4eb1-8445-6b56664ddd52', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'71483aee-70ed-4eb1-8445-6b56664ddd52'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/ea2084e9-b1f7-4c25-ac51-a482adec871d', u'rel': u'self'}, {u'href': u'http://localhost/nodes/ea2084e9-b1f7-4c25-ac51-a482adec871d', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'ea2084e9-b1f7-4c25-ac51-a482adec871d'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_name_remove_ok [0.062751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7d0bedc3-937d-48b5-a6dc-438b8c2d2fb6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:20.380421+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.v1.test_nodes.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.070668s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:20.405705+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {u'private_state': u'secret value'}, u'chassis_uuid': None, u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_chassis_uuid [0.083269s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3ea0378-e318-449c-a13d-632a29ca2b27 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:20.405079+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.v1.test_nodes.TestPatch.test_patch_update_name_twice_second_invalid [0.043941s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'node-0', 'op': 'add'}, {'path': '/name', 'value': 'Guido Van Error', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b02a304-3697-40ed-a56d-16996cadce26 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_volume_connectors_subresource [0.044785s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-77147a21-8455-4b96-a8ac-88674314fa74 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.063315s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e42a68c1-66a8-47e1-9bb9-f9099e3892fc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_volume_targets_subresource [0.043326s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5bac544b-ac1b-4945-bd99-c5fcedd50bb4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource [0.131644s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{u'ports': [{u'uuid': u'82920d8c-3cd2-4441-888d-0628aa1cfece', u'links': [{u'href': u'http://localhost/v1/ports/82920d8c-3cd2-4441-888d-0628aa1cfece', u'rel': u'self'}, {u'href': u'http://localhost/ports/82920d8c-3cd2-4441-888d-0628aa1cfece', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'6882086e-828d-4b51-be52-703d724a282e', u'links': [{u'href': u'http://localhost/v1/ports/6882086e-828d-4b51-be52-703d724a282e', u'rel': u'self'}, {u'href': u'http://localhost/ports/6882086e-828d-4b51-be52-703d724a282e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'82920d8c-3cd2-4441-888d-0628aa1cfece', u'links': [{u'href': u'http://localhost/v1/ports/82920d8c-3cd2-4441-888d-0628aa1cfece', u'rel': u'self'}, {u'href': u'http://localhost/ports/82920d8c-3cd2-4441-888d-0628aa1cfece', 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=82920d8c-3cd2-4441-888d-0628aa1cfece'} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_maintenance_by_name [0.078878s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/node-57 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-872e3e8e-e2aa-474c-829c-4ca2b1ed4778 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:20.549205+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_non_existent_property_fail [0.048831s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-20c7dda8-6353-4736-9e7e-248a43bd2c89 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_unassociated_nodes_insensitive [0.258998s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?associated=false {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/dc25fc48-4d09-4151-873d-6b25191e8c55', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dc25fc48-4d09-4151-873d-6b25191e8c55', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'dc25fc48-4d09-4151-873d-6b25191e8c55'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/054d43a1-2d04-41e8-be5f-c10d2d2e2efa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/054d43a1-2d04-41e8-be5f-c10d2d2e2efa', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'054d43a1-2d04-41e8-be5f-c10d2d2e2efa'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6071163b-798c-44a2-a82e-a5ec886965bf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6071163b-798c-44a2-a82e-a5ec886965bf', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6071163b-798c-44a2-a82e-a5ec886965bf'}]} GET: /v1/nodes?associated=FALSE {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/dc25fc48-4d09-4151-873d-6b25191e8c55', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dc25fc48-4d09-4151-873d-6b25191e8c55', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'dc25fc48-4d09-4151-873d-6b25191e8c55'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/054d43a1-2d04-41e8-be5f-c10d2d2e2efa', u'rel': u'self'}, {u'href': u'http://localhost/nodes/054d43a1-2d04-41e8-be5f-c10d2d2e2efa', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'054d43a1-2d04-41e8-be5f-c10d2d2e2efa'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/6071163b-798c-44a2-a82e-a5ec886965bf', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6071163b-798c-44a2-a82e-a5ec886965bf', u'rel': u'bookmark'}], u'power_state': None, u'provision_state': None, u'uuid': u'6071163b-798c-44a2-a82e-a5ec886965bf'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_ports_subresource_link [0.069308s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:20.612491+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'******'}} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_ok [0.063059s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-29061f07-52cc-4cda-ac08-fb6cf85e05e9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:20.632707+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_network_interface [0.077211s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/e07755c0-47e5-461a-84a9-2db3042c164e [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e60299b5-4ad2-4256-ae36-bf32c21112f3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/e07755c0-47e5-461a-84a9-2db3042c164e", "rel": "self"}, {"href": "http://localhost/nodes/e07755c0-47e5-461a-84a9-2db3042c164e", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/e07755c0-47e5-461a-84a9-2db3042c164e/states", "rel": "self"}, {"href": "http://localhost/nodes/e07755c0-47e5-461a-84a9-2db3042c164e/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "e07755c0-47e5-461a-84a9-2db3042c164e", "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/e07755c0-47e5-461a-84a9-2db3042c164e/volume", "rel": "self"}, {"href": "http://localhost/nodes/e07755c0-47e5-461a-84a9-2db3042c164e/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:20.645597+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/e07755c0-47e5-461a-84a9-2db3042c164e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e07755c0-47e5-461a-84a9-2db3042c164e/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/e07755c0-47e5-461a-84a9-2db3042c164e/ports", "rel": "self"}, {"href": "http://localhost/nodes/e07755c0-47e5-461a-84a9-2db3042c164e/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_validate_by_name [0.068409s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node=spam {} GOT:{} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_chassis_id [0.044784s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b30ed268-3bab-48d2-b515-1d8e3709f47c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/chassis_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'chassis_id'\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_consoled_enabled [0.037301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b29d115-33ae-4494-8bf2-db5d247970b2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/console_enabled' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class [0.076720s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/8e4b0000-f197-4b2f-aa94-8f91532c71a5 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cebad610-777e-48a0-902f-f38e1b3c6493 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/8e4b0000-f197-4b2f-aa94-8f91532c71a5", "rel": "self"}, {"href": "http://localhost/nodes/8e4b0000-f197-4b2f-aa94-8f91532c71a5", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8e4b0000-f197-4b2f-aa94-8f91532c71a5/states", "rel": "self"}, {"href": "http://localhost/nodes/8e4b0000-f197-4b2f-aa94-8f91532c71a5/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "8e4b0000-f197-4b2f-aa94-8f91532c71a5", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:20.728169+00:00", "ports": [{"href": "http://localhost/v1/nodes/8e4b0000-f197-4b2f-aa94-8f91532c71a5/ports", "rel": "self"}, {"href": "http://localhost/nodes/8e4b0000-f197-4b2f-aa94-8f91532c71a5/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.v1.test_nodes.TestListNodes.test_validate_by_name_unsupported [0.051111s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bf1c7663-1cb6-4eac-8f1e-e8f21dcdf681 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key_allowed [0.143200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=resource_class {} GOT:{u'nodes': [{u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/a7288214-bc85-4b94-be30-741b67103ee8', u'rel': u'self'}, {u'href': u'http://localhost/nodes/a7288214-bc85-4b94-be30-741b67103ee8', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'a7288214-bc85-4b94-be30-741b67103ee8'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/eea1dd43-2d4b-4931-9b30-292b6a414160', u'rel': u'self'}, {u'href': u'http://localhost/nodes/eea1dd43-2d4b-4931-9b30-292b6a414160', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'eea1dd43-2d4b-4931-9b30-292b6a414160'}, {u'instance_uuid': None, u'maintenance': False, u'links': [{u'href': u'http://localhost/v1/nodes/112fcda7-0be8-4c0d-a584-77310e7d31b7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/112fcda7-0be8-4c0d-a584-77310e7d31b7', u'rel': u'bookmark'}], u'name': None, u'power_state': None, u'provision_state': u'available', u'uuid': u'112fcda7-0be8-4c0d-a584-77310e7d31b7'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_non_existent_chassis_uuid [0.057402s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-edcdc2b8-c0b2-4f9f-9ded-abc7b403639d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.071446s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_sort_key_not_allowed [0.036289s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1763fd80-f98f-412e-ae83-0400c7fa2123 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_allowed_in_power_transition [0.077840s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/8a8b3f1f-a0aa-4900-9b5a-a177bce1bd1c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e5d3638-b924-454b-898a-607995086edd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/8a8b3f1f-a0aa-4900-9b5a-a177bce1bd1c", "rel": "self"}, {"href": "http://localhost/nodes/8a8b3f1f-a0aa-4900-9b5a-a177bce1bd1c", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "8a8b3f1f-a0aa-4900-9b5a-a177bce1bd1c", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:20.857536+00:00", "ports": [{"href": "http://localhost/v1/nodes/8a8b3f1f-a0aa-4900-9b5a-a177bce1bd1c/ports", "rel": "self"}, {"href": "http://localhost/nodes/8a8b3f1f-a0aa-4900-9b5a-a177bce1bd1c/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_validate_by_uuid [0.056200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_connectors_subresource_node_not_found [0.050100s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-affdad1d-7899-45b9-9c8d-f4719a5895e8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_fails_bad_driver [0.070762s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'bad-driver', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-adfe90fe-9174-47ff-ac28-4d29d6fd2058 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_connectors_subresource [0.151387s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'2aaf4b79-cc72-4c66-b750-dd92e2029e8b', u'links': [{u'href': u'http://localhost/v1/volume/connectors/2aaf4b79-cc72-4c66-b750-dd92e2029e8b', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/2aaf4b79-cc72-4c66-b750-dd92e2029e8b', 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'1f8af5ca-8d9b-4102-925b-fe46600e9fa5', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1f8af5ca-8d9b-4102-925b-fe46600e9fa5', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1f8af5ca-8d9b-4102-925b-fe46600e9fa5', 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'2aaf4b79-cc72-4c66-b750-dd92e2029e8b', u'links': [{u'href': u'http://localhost/v1/volume/connectors/2aaf4b79-cc72-4c66-b750-dd92e2029e8b', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/2aaf4b79-cc72-4c66-b750-dd92e2029e8b', 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=2aaf4b79-cc72-4c66-b750-dd92e2029e8b'} {1} ironic.tests.unit.api.v1.test_nodes.TestListNodes.test_volume_connectors_subresource_noid [0.069058s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e90d4491-95c6-4296-8a48-990ee570e350 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_fails_bad_driver_info [0.063599s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b169dd3a-f74f-48e0-a188-bbcf7f26d803 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_classic_driver_specify_interface [0.267918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': 'eca32eda-7cec-4608-ac55-98503ccae1f8'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18aef6a9-19f7-435d-9dfc-148a169eb85c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node eca32eda-7cec-4608-ac55-98503ccae1f8 with driver fake, these node fields must be set to None: boot_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '4180e60d-d13b-4349-8ac1-d9af51e4ada1', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bd62b092-f426-41d1-bdb3-f28566bba9e0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 4180e60d-d13b-4349-8ac1-d9af51e4ada1 with driver fake, these node fields must be set to None: console_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '41c100b3-39bc-4346-9c82-b9f7ca7f00ec', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'deploy_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18afc441-16bf-4066-9b86-9261c7918f61 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 41c100b3-39bc-4346-9c82-b9f7ca7f00ec with driver fake, these node fields must be set to None: deploy_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': 'c30bda30-dc97-491b-a77a-609c2b5ec4d6'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6d4fab33-9ee3-40b1-b35d-3e3a50050318 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node c30bda30-dc97-491b-a77a-609c2b5ec4d6 with driver fake, these node fields must be set to None: inspect_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': 'bd24391d-0e0e-467b-9afa-99ede73b9ad7', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2ebe3cb6-f361-4258-b358-9fd7a496ed0d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node bd24391d-0e0e-467b-9afa-99ede73b9ad7 with driver fake, these node fields must be set to None: management_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'd2ede871-1e88-4042-9891-abb1f23cb2e5', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'power_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0893297-429d-4ae4-9bd8-560a880f04cb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node d2ede871-1e88-4042-9891-abb1f23cb2e5 with driver fake, these node fields must be set to None: power_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '3c7018da-ac7a-43fa-8907-fd63b7d9dfed'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a169b74-fb83-4044-bab5-10c4740c79db X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 3c7018da-ac7a-43fa-8907-fd63b7d9dfed with driver fake, these node fields must be set to None: raid_interface.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'vendor_interface': 'fake', 'uuid': '93dbf004-acfd-497b-ad5c-1b99b2ea1f8f'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ae08560-a908-4867-ab1e-21bcfe98dca0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"For node 93dbf004-acfd-497b-ad5c-1b99b2ea1f8f with driver fake, these node fields must be set to None: vendor_interface.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestNodeObject.test_node_init [0.015029s] ... ok {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.057131s] ... ok {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_name_empty_not_acceptable [0.062622s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': ''} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6cec2d1e-9bef-4f23-86c8-21f151a85a60 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_ok [0.096602s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4506001d-8d29-447b-a9bd-aa309ebec80d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.064004+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_chassis_uuid [0.113440s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4e058fe-21ae-4331-87f6-8fd88ef62ae1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.079320+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.v1.test_nodes.TestPatch.test_add_ok [0.113696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3e7da699-a04c-41fb-8396-b2157a83e6fe X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.083788+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class_max_length [0.090630s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/b4f5875d-c1b7-4472-8c5f-e42e49e975c9 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80734225-3a51-4ea4-94ef-9ffaaf6fc27f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/b4f5875d-c1b7-4472-8c5f-e42e49e975c9", "rel": "self"}, {"href": "http://localhost/nodes/b4f5875d-c1b7-4472-8c5f-e42e49e975c9", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/b4f5875d-c1b7-4472-8c5f-e42e49e975c9/states", "rel": "self"}, {"href": "http://localhost/nodes/b4f5875d-c1b7-4472-8c5f-e42e49e975c9/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "uuid": "b4f5875d-c1b7-4472-8c5f-e42e49e975c9", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:21.182836+00:00", "ports": [{"href": "http://localhost/v1/nodes/b4f5875d-c1b7-4472-8c5f-e42e49e975c9/ports", "rel": "self"}, {"href": "http://localhost/nodes/b4f5875d-c1b7-4472-8c5f-e42e49e975c9/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.v1.test_nodes.TestPost.test_create_node_reserved_name [0.133173s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'maintenance'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-60818208-f146-4f12-bb35-cf826db92e38 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'management'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-09a63dc8-51c0-4e88-9e00-48fe32824037 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'states'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-378f08ab-d840-45ae-9a79-c273b599b4d6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'vendor_passthru'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5a8c8588-d97f-4be8-b762-3daf91a0e465 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'validate'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-37a67d06-97bc-4632-b2f0-fa75f409bb9e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': 'detail'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a5a8668c-e495-4d78-9d75-ef219b17b621 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_add_state_in_deployfail [0.094809s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/58ff4157-5535-48a4-a1ce-978bed7ae477 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bce0ebc5-ace5-4dc6-a9e8-3b306edccc4d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/58ff4157-5535-48a4-a1ce-978bed7ae477", "rel": "self"}, {"href": "http://localhost/nodes/58ff4157-5535-48a4-a1ce-978bed7ae477", "rel": "bookmark"}], "target_provision_state": "active", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "58ff4157-5535-48a4-a1ce-978bed7ae477", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.214811+00:00", "ports": [{"href": "http://localhost/v1/nodes/58ff4157-5535-48a4-a1ce-978bed7ae477/ports", "rel": "self"}, {"href": "http://localhost/nodes/58ff4157-5535-48a4-a1ce-978bed7ae477/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_storage_interface_old_api_version [0.041670s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-19561f19-0f13-4162-aa42-bf250f5c26ba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class_too_long [0.063759s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/99c32652-ed41-466f-9245-e7c1e3d6fc9f [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a00f6a7a-532b-4192-b0af-3f4a5aa741cf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'. Value should have a maximum character requirement of 80\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_empty_invalid [0.058402s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': '', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c9bb7c0-1bf3-4efa-8b80-43aaeac3e1e3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_state [0.044343s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'power_state': 'new state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-af29f0db-edbb-4681-b34c-cfe316d02a98 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument patch: power_state\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_reserved [0.203127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'maintenance', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ac5ce07e-02f9-4bc9-abfa-3426ea6f7cc8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'management', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1845b27d-2f0c-415e-8746-835c49696c4d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'states', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79915ad2-605f-4d55-94fa-293a7e429409 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'vendor_passthru', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6bdf4f58-291e-41de-94ab-6de0cc075b85 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'validate', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b00c95b-9a93-4139-8a68-fe157256afa8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'detail', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8dbfbdf2-e1be-4796-87aa-60885f40ff45 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, validate, detail.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_add_name_ok [0.081710s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab788140-a0f8-487b-82a3-b9a18d08daaa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "deadbeef-0000-1111-2222-333333333333", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.354615+00:00", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_storage_interface [0.065063s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/f4c81028-24e8-4966-9295-c1b743352b7a [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-619442d0-182c-4616-ba6e-f1a72c0f8ef8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/f4c81028-24e8-4966-9295-c1b743352b7a", "rel": "self"}, {"href": "http://localhost/nodes/f4c81028-24e8-4966-9295-c1b743352b7a", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/f4c81028-24e8-4966-9295-c1b743352b7a/states", "rel": "self"}, {"href": "http://localhost/nodes/f4c81028-24e8-4966-9295-c1b743352b7a/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "f4c81028-24e8-4966-9295-c1b743352b7a", "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/f4c81028-24e8-4966-9295-c1b743352b7a/volume", "rel": "self"}, {"href": "http://localhost/nodes/f4c81028-24e8-4966-9295-c1b743352b7a/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:21.370086+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/f4c81028-24e8-4966-9295-c1b743352b7a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f4c81028-24e8-4966-9295-c1b743352b7a/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/f4c81028-24e8-4966-9295-c1b743352b7a/ports", "rel": "self"}, {"href": "http://localhost/nodes/f4c81028-24e8-4966-9295-c1b743352b7a/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.042188s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94fef532-7e09-4af4-a939-b1e6b55f8d71 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_storage_interface_old_api [0.048706s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/4063959e-88a0-45be-b739-24d263347248 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-404e0cce-1dfb-4712-90a8-ff030f2f5688 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_chassis_id [0.047499s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12d3c0a0-1b35-4c19-80cf-10ebc5e6a98f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/chassis_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'chassis_id'\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_with_chassis_uuid [0.192322s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-d902ef3d-86e1-4aef-bd7d-93dc1c1d760d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.395238+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:21.395238+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_name_replace_ok [0.084580s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'value': 'guido-van-rossum', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3d8377b3-ede2-4415-ad3e-4c61c2ef9ff4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.431788+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.v1.test_nodes.TestPatch.test_remove_internal_field [0.042144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/last_error', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2289f2af-c8da-4e0f-881f-c370debe1769 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/last_error' is an internal attribute and can not be updated\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_portgroups_subresource [0.047248s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-56a7c635-8688-436f-96a6-f486c0c5b6a4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_mandatory_field [0.039947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8afbea3b-6bb2-44a7-ad8b-c5e85ab5a974 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/driver' is a mandatory attribute and can not be removed\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node [0.126800s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-3a49d565-e45c-4efd-a275-1041e99c23a5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_ports_subresource [0.096940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b09aeb8-1a2d-44fd-af87-e7599ec8fb8d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_ports_subresource [0.054777s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6b24b2b1-969f-462f-9d6b-1eeb90d2ff19 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_chassis_uuid [0.072726s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-207e1e8d-8893-408d-b388-b48aad7584de X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.563858+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.v1.test_nodes.TestPatch.test_patch_ports_subresource_no_port_id [0.046981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4cfdf1c-db0f-459f-9995-d237d8d04245 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_volume_connectors_subresource_no_node_id [0.061947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_allowed_in_maintenance [0.066804s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/69c3d3db-d861-4ad2-88d6-7ab33227501b [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7dbc14da-c0c7-42a8-aef4-2d8cc5003201 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": "power off", "links": [{"href": "http://localhost/v1/nodes/69c3d3db-d861-4ad2-88d6-7ab33227501b", "rel": "self"}, {"href": "http://localhost/nodes/69c3d3db-d861-4ad2-88d6-7ab33227501b", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "69c3d3db-d861-4ad2-88d6-7ab33227501b", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": true, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.651932+00:00", "ports": [{"href": "http://localhost/v1/nodes/69c3d3db-d861-4ad2-88d6-7ab33227501b/ports", "rel": "self"}, {"href": "http://localhost/nodes/69c3d3db-d861-4ad2-88d6-7ab33227501b/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_patch_update_drive_console_enabled [0.050243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-96083754-9e0a-4486-8850-79fca15527f6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_explicit_storage_interface [0.117870s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'cinder', 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-ad16f66d-ecda-49f9-be80-7883c798b423 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "cinder", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'cinder', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', u'rel': u'bookmark'}], u'deploy_interface': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'console_interface': None, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_without_method [0.063112s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cad41608-f164-4245-97c2-de356b6a8925 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_by_name_unsupported [0.041866s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/node-57 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7fe24db4-c204-49b6-adf0-23f3da170bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-57 could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_chassis [0.030375s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 0, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b8ac60b4-5ee4-40a4-8d34-7a69cdfbec8b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 0.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_remove_uuid [0.060450s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e2f5e4f9-0910-4b38-851e-0eee70b15fbc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_driver [0.030214s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93b557d6-a102-473e-8566-05353b0bc9d5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Fake Error\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inject_nmi_not_allowed [0.059483s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-827913cd-7ba0-4baa-b277-4f94a72c4456 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_internal_field [0.052699s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'value': 'fake-state', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12e3addb-e8b9-4f45-ac85-82dfbc50a2e1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/power_state' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_invalid_state_request [0.045411s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8292e949-99ff-4352-ad90-b0de32ea84c2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_network_interface [0.066833s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'foo', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4d7398f8-9598-483e-b3b1-1c88e3ca528b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'noop', 'neutron'].\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.042469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6deb2bc4-fa09-42da-b041-59b352116cb6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_maintenance [0.072069s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'value': 'true', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-77536b06-5461-4821-864d-13a1ba618f87 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.831043+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_invalid_storage_interface [0.068491s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'storage_interface': 'foo', 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8c3d7ae0-95e8-4f5b-9dab-50bd88b06669 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['cinder', 'noop'].\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_no_timeout_no_ver [0.049604s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8737a339-d8db-4e23-82f7-b069d6735773 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_replace_provision_updated_at [0.048134s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'value': '2000-01-01 00:00:00', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-320a7317-5dca-4ea3-befa-0ff094a3ea45 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/provision_updated_at' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_name_empty_invalid [0.031586s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': ''} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-67ebfe4a-268c-4937-bd65-877348640635 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_classic_driver_interface_fields [0.236165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/fe1a3ece-297b-4d95-b67a-a7ac7efedb9e [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c103af39-afc9-459d-951c-3b12bd433338 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/93d9cc8b-778c-4e96-97c8-086a461aafbd [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-43ad72f5-31f0-4d55-8f52-e2dbd6497a49 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/47c6c020-5396-4d0f-b90f-2d03c4423283 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c3dcd29b-8eef-4bc6-8e69-7dbb9cec4460 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/9cd79094-503d-4277-9f5c-d2e81d62959a [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8805b33-5faf-4f28-a654-a2637fe42b54 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/8f6b7c11-64b9-4613-bfb4-f8196c82b2b5 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4807297-0fbc-4874-b6e1-1834ee49b324 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/279f7525-e556-46a8-ac3d-618a474bdc6b [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7229e212-a0a0-4639-851b-c16ecbf090d2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/3e3ca0de-4497-4494-9d82-e98d767b127c [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3fff3bfd-a1a4-41c0-b12f-f332ab616e57 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} PATCH: /v1/nodes/c71ceccc-470e-433c-9ca2-eac21a24307c [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b591aa00-4700-454d-ad13-3717f7fe81eb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"error\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.049514s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9af94ed6-eafc-4aa6-bc51-49d6d9fd98b6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_resource_class_old_api [0.043474s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/e91268e0-bec9-4031-ae4d-93502af1223e [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-af339e57-4275-4332-a4dd-6b1b5b12c926 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.042866s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c872e91c-7ddc-44c2-9f81-ed691dafbbb1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.040318s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-affe7986-d46b-46e9-ad3c-1d9300fc08d2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_network_interface [0.123647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'flat', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-08e96fa5-1b4a-4986-bc0b-7d84f3c94a49 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.008972+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2017-10-31T14:11:22.008972+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'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.048250s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7eefb3b0-f670-4227-8102-ee11038faabf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_by_name [0.041238s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-6aff4afa-9875-45d8-a885-3fb648cf5f9d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_chassis_uuid_always_in_response [0.173238s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': None, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-64b4b102-114d-487b-998b-617589525ea9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} POST: /v1/nodes {'instance_uuid': None, 'uuid': '5e60daae-19a6-4a70-9a1f-5fe18dd191f0', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0 Openstack-Request-Id: req-03fb243d-95b4-4ed6-a586-b5a5acb04ec9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0", "rel": "self"}, {"href": "http://localhost/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "5e60daae-19a6-4a70-9a1f-5fe18dd191f0", "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/5e60daae-19a6-4a70-9a1f-5fe18dd191f0/ports", "rel": "self"}, {"href": "http://localhost/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0', 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'5e60daae-19a6-4a70-9a1f-5fe18dd191f0', 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/5e60daae-19a6-4a70-9a1f-5fe18dd191f0/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5e60daae-19a6-4a70-9a1f-5fe18dd191f0/ports', u'rel': u'bookmark'}], u'chassis_uuid': None, u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_invalid_state_request [0.044843s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7085e150-a9dc-41bc-8c84-5a792615c6c2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_chassis_uuid_not_found [0.032015s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b87048d-cb73-41c8-894a-e87404810aea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.311652s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/e9777a4c-317f-4aac-afbb-ae5f1a44aad9 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-432f8712-8127-4be3-a211-08adedc54602 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/e9777a4c-317f-4aac-afbb-ae5f1a44aad9", "rel": "self"}, {"href": "http://localhost/nodes/e9777a4c-317f-4aac-afbb-ae5f1a44aad9", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "deploy failed", "uuid": "e9777a4c-317f-4aac-afbb-ae5f1a44aad9", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:21.964487+00:00", "ports": [{"href": "http://localhost/v1/nodes/e9777a4c-317f-4aac-afbb-ae5f1a44aad9/ports", "rel": "self"}, {"href": "http://localhost/nodes/e9777a4c-317f-4aac-afbb-ae5f1a44aad9/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/d9c27afe-493d-4c85-be77-b8937e17e756 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d55062d7-66cc-401c-bbaf-87148dea3f9d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/d9c27afe-493d-4c85-be77-b8937e17e756", "rel": "self"}, {"href": "http://localhost/nodes/d9c27afe-493d-4c85-be77-b8937e17e756", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspecting", "uuid": "d9c27afe-493d-4c85-be77-b8937e17e756", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.007296+00:00", "ports": [{"href": "http://localhost/v1/nodes/d9c27afe-493d-4c85-be77-b8937e17e756/ports", "rel": "self"}, {"href": "http://localhost/nodes/d9c27afe-493d-4c85-be77-b8937e17e756/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/af485a27-dfe9-4ca7-9c64-d52b40fd8d1a [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d91db260-4268-4fb3-a58b-ca849ee9a101 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/af485a27-dfe9-4ca7-9c64-d52b40fd8d1a", "rel": "self"}, {"href": "http://localhost/nodes/af485a27-dfe9-4ca7-9c64-d52b40fd8d1a", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "inspect failed", "uuid": "af485a27-dfe9-4ca7-9c64-d52b40fd8d1a", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.046894+00:00", "ports": [{"href": "http://localhost/v1/nodes/af485a27-dfe9-4ca7-9c64-d52b40fd8d1a/ports", "rel": "self"}, {"href": "http://localhost/nodes/af485a27-dfe9-4ca7-9c64-d52b40fd8d1a/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/ca79e84b-f48d-4aa3-a11c-30c6bbe57600 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59319390-bb83-4077-b27b-4eda6a2f3be2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/ca79e84b-f48d-4aa3-a11c-30c6bbe57600", "rel": "self"}, {"href": "http://localhost/nodes/ca79e84b-f48d-4aa3-a11c-30c6bbe57600", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "clean failed", "uuid": "ca79e84b-f48d-4aa3-a11c-30c6bbe57600", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.087511+00:00", "ports": [{"href": "http://localhost/v1/nodes/ca79e84b-f48d-4aa3-a11c-30c6bbe57600/ports", "rel": "self"}, {"href": "http://localhost/nodes/ca79e84b-f48d-4aa3-a11c-30c6bbe57600/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/54d74100-de9c-4da0-87a3-0dbcb4e67f02 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df0e79fd-bb68-4fc5-aa26-e217bce9893a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/54d74100-de9c-4da0-87a3-0dbcb4e67f02", "rel": "self"}, {"href": "http://localhost/nodes/54d74100-de9c-4da0-87a3-0dbcb4e67f02", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "error", "uuid": "54d74100-de9c-4da0-87a3-0dbcb4e67f02", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.125155+00:00", "ports": [{"href": "http://localhost/v1/nodes/54d74100-de9c-4da0-87a3-0dbcb4e67f02/ports", "rel": "self"}, {"href": "http://localhost/nodes/54d74100-de9c-4da0-87a3-0dbcb4e67f02/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/b85909db-0a30-4554-beb6-7ee5c2d0a389 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d12d2258-c6f8-4e6b-9589-ea72b4460f0c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/b85909db-0a30-4554-beb6-7ee5c2d0a389", "rel": "self"}, {"href": "http://localhost/nodes/b85909db-0a30-4554-beb6-7ee5c2d0a389", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "verifying", "uuid": "b85909db-0a30-4554-beb6-7ee5c2d0a389", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.163966+00:00", "ports": [{"href": "http://localhost/v1/nodes/b85909db-0a30-4554-beb6-7ee5c2d0a389/ports", "rel": "self"}, {"href": "http://localhost/nodes/b85909db-0a30-4554-beb6-7ee5c2d0a389/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} PATCH: /v1/nodes/f6740a8f-e6b7-4f8a-b983-3dd47cc45771 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-67ecd1b3-d1af-42e0-81cd-ca89771437ac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/f6740a8f-e6b7-4f8a-b983-3dd47cc45771", "rel": "self"}, {"href": "http://localhost/nodes/f6740a8f-e6b7-4f8a-b983-3dd47cc45771", "rel": "bookmark"}], "target_provision_state": "available", "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "adopt failed", "uuid": "f6740a8f-e6b7-4f8a-b983-3dd47cc45771", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.203195+00:00", "ports": [{"href": "http://localhost/v1/nodes/f6740a8f-e6b7-4f8a-b983-3dd47cc45771/ports", "rel": "self"}, {"href": "http://localhost/nodes/f6740a8f-e6b7-4f8a-b983-3dd47cc45771/ports", "rel": "bookmark"}], "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_locked_with_correct_state [0.055565s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-91172ef1-fe3b-43f3-bcf4-18a12943da34 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid [0.051307s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 204 No Content Openstack-Request-Id: req-f416e3be-933b-41ad-ac44-4f76ce7b09d4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_explicit_network_interface [0.126646s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'neutron', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-06ab3b42-8166-4c80-8312-4d7453bcb444 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "neutron", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2000-01-01T00:00:00+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'neutron', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2000-01-01T00:00:00+00:00', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'driver_internal_info': {}, u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid_iface_not_supported [0.053112s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cd3d2cbd-d457-4b67-bd87-b34a69f64bac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support raid (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_network_interface_old_api_version [0.031791s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'network_interface': 'flat', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-150df712-6538-4d19-b0f1-a0165c324bc7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device [0.061468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-ecaeb05a-66e5-4b78-938a-5c2012a54470 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_by_name [0.063604s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-67defcdf-0139-42e2-bd27-d9243b0707c1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_resource_class [0.117242s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'resource_class': 'foo', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-3a65c55a-6f5e-48ac-b804-bdeab3ad63fa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": "noop", "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": null, "driver": "fake", "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": "foo", "created_at": "2017-10-31T14:11:22.453601+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'inspect_interface': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'storage_interface': u'noop', u'updated_at': None, u'maintenance_reason': None, u'states': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'power_interface': None, u'volume': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', u'rel': u'bookmark'}], u'raid_interface': None, u'boot_interface': None, u'reservation': None, u'management_interface': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': u'foo', u'created_at': u'2017-10-31T14:11:22.453601+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'}]} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_not_supported [0.071643s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-69bf2e4f-3a1b-4240-b6e7-e5c456755adb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_instance_info [0.117564s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a3daef10-1c08-462a-9c21-7f5ac0a5423d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.573461+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:22.573461+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_bad_request_missing_parameter [0.055945s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-208c4a1b-d7b9-487a-ba79-7d4be4aae580 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"enabled\\\"\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_specify_interfaces [0.594733s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'boot_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '8c7f8e2f-f471-4528-8ba4-ee299c4c18b2'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2 Openstack-Request-Id: req-f831c101-4f93-4456-af2f-86f7ebcd6255 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2", "rel": "self"}, {"href": "http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/states", "rel": "self"}, {"href": "http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "8c7f8e2f-f471-4528-8ba4-ee299c4c18b2", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/ports", "rel": "self"}, {"href": "http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/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/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2', 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/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'8c7f8e2f-f471-4528-8ba4-ee299c4c18b2', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/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/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/8c7f8e2f-f471-4528-8ba4-ee299c4c18b2/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': 'dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7 Openstack-Request-Id: req-f09111ae-279b-4687-9654-a5b90c383e28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7", "rel": "self"}, {"href": "http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/states", "rel": "self"}, {"href": "http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/ports", "rel": "self"}, {"href": "http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/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/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7', 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/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/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/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/dcf6a84d-d4cf-4317-8c32-24aa99cfbcd7/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '58d2ae89-be0a-4fce-8ed2-556d6b5e483f', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'deploy_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f Openstack-Request-Id: req-5cda4f42-accc-424d-86be-c370cee8c263 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f", "rel": "self"}, {"href": "http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/states", "rel": "self"}, {"href": "http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "58d2ae89-be0a-4fce-8ed2-556d6b5e483f", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/ports", "rel": "self"}, {"href": "http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/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/58d2ae89-be0a-4fce-8ed2-556d6b5e483f {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f', u'rel': u'self'}, {u'href': u'http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f', 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/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'58d2ae89-be0a-4fce-8ed2-556d6b5e483f', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/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/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/58d2ae89-be0a-4fce-8ed2-556d6b5e483f/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': 'f665bbc2-0cc2-41fa-a73c-b0f228c8d15e'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e Openstack-Request-Id: req-128a9f7e-58a0-459f-b523-f195d4465feb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e", "rel": "self"}, {"href": "http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/states", "rel": "self"}, {"href": "http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "f665bbc2-0cc2-41fa-a73c-b0f228c8d15e", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/ports", "rel": "self"}, {"href": "http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/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/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e', 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/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'f665bbc2-0cc2-41fa-a73c-b0f228c8d15e', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/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/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/f665bbc2-0cc2-41fa-a73c-b0f228c8d15e/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': '0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0 Openstack-Request-Id: req-e7ed2461-dda1-4b24-9ac5-403ef388d0e3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0", "rel": "self"}, {"href": "http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/states", "rel": "self"}, {"href": "http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/ports", "rel": "self"}, {"href": "http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/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/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0', 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/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/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/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0ab83e84-46fd-4ba1-a7f3-3c9bc47f09e0/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'uuid': '5d1fc7d5-fe57-4d17-98c5-6ae81c833e15', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'power_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15 Openstack-Request-Id: req-184d1a29-644f-4da2-947d-d1d5bb21a483 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15", "rel": "self"}, {"href": "http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/states", "rel": "self"}, {"href": "http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "5d1fc7d5-fe57-4d17-98c5-6ae81c833e15", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/ports", "rel": "self"}, {"href": "http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/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/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15', 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/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'5d1fc7d5-fe57-4d17-98c5-6ae81c833e15', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/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/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/5d1fc7d5-fe57-4d17-98c5-6ae81c833e15/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '6e11815a-def9-469a-baf1-cf251156d415'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/6e11815a-def9-469a-baf1-cf251156d415 Openstack-Request-Id: req-1d395918-8312-4017-8101-5ffbd583c9ff X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/6e11815a-def9-469a-baf1-cf251156d415", "rel": "self"}, {"href": "http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/6e11815a-def9-469a-baf1-cf251156d415/states", "rel": "self"}, {"href": "http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "6e11815a-def9-469a-baf1-cf251156d415", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/6e11815a-def9-469a-baf1-cf251156d415/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/6e11815a-def9-469a-baf1-cf251156d415/ports", "rel": "self"}, {"href": "http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415/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/6e11815a-def9-469a-baf1-cf251156d415 {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/6e11815a-def9-469a-baf1-cf251156d415', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415', 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/6e11815a-def9-469a-baf1-cf251156d415/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'6e11815a-def9-469a-baf1-cf251156d415', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/6e11815a-def9-469a-baf1-cf251156d415/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415/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/6e11815a-def9-469a-baf1-cf251156d415/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/6e11815a-def9-469a-baf1-cf251156d415/ports', u'rel': u'bookmark'}]} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake-hardware', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'vendor_interface': 'fake', 'uuid': '51cbcc6b-e0d6-4650-b540-265a310929dd'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd Openstack-Request-Id: req-05607f4b-2732-4c4a-bd3e-28a2b8c9c9e6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"target_power_state": null, "inspect_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd", "rel": "self"}, {"href": "http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/states", "rel": "self"}, {"href": "http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/states", "rel": "bookmark"}], "provision_state": "enroll", "clean_step": {}, "vendor_interface": "fake", "uuid": "51cbcc6b-e0d6-4650-b540-265a310929dd", "console_enabled": false, "extra": {}, "raid_config": {}, "provision_updated_at": null, "power_state": null, "target_raid_config": {}, "network_interface": "flat", "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "power_interface": "fake", "driver": "fake-hardware", "raid_interface": "fake", "boot_interface": "fake", "reservation": null, "management_interface": "fake", "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2000-01-01T00:00:00+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/portgroups", "rel": "bookmark"}], "deploy_interface": "fake", "ports": [{"href": "http://localhost/v1/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/ports", "rel": "self"}, {"href": "http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/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/51cbcc6b-e0d6-4650-b540-265a310929dd {} GOT:{u'target_power_state': None, u'inspect_interface': u'fake', u'links': [{u'href': u'http://localhost/v1/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd', 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/51cbcc6b-e0d6-4650-b540-265a310929dd/states', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/states', u'rel': u'bookmark'}], u'provision_state': u'enroll', u'clean_step': {}, u'vendor_interface': u'fake', u'uuid': u'51cbcc6b-e0d6-4650-b540-265a310929dd', u'console_enabled': False, u'extra': {}, u'raid_config': {}, u'provision_updated_at': None, u'power_state': None, u'target_raid_config': {}, u'network_interface': u'flat', u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake-hardware', u'power_interface': u'fake', u'raid_interface': u'fake', u'boot_interface': u'fake', u'reservation': None, u'management_interface': u'fake', u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'resource_class': None, u'created_at': u'2000-01-01T00:00:00+00:00', u'portgroups': [{u'href': u'http://localhost/v1/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/portgroups', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/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/51cbcc6b-e0d6-4650-b540-265a310929dd/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/51cbcc6b-e0d6-4650-b540-265a310929dd/ports', u'rel': u'bookmark'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_interface_fields [0.449858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-63291d87-b984-48b5-9237-c4e07a146331 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/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/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2940852-cac1-40cd-b6f3-7a86629074ce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/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/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b0ffbfaf-4676-47c0-b727-a5ef6315ff1a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/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/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e154a517-8163-482e-af78-b31c2aad112b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/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/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2fff12c-ba85-4a91-befc-9969d0c717e1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/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/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd6aee06-b27a-4a80-b583-28aec7c35d90 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/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/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-66e7d908-e4ce-4eeb-b77d-5be97f8da159 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/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/d4137a28-3cfc-4fe8-812d-9ed5846842a0 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d93a9ea9-988c-4fcd-8bc4-d8d84f212c6e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"target_power_state": null, "inspect_interface": null, "links": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "storage_interface": null, "updated_at": null, "maintenance_reason": null, "states": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/states", "rel": "bookmark"}], "provision_state": "available", "clean_step": {}, "vendor_interface": null, "uuid": "d4137a28-3cfc-4fe8-812d-9ed5846842a0", "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/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/volume", "rel": "bookmark"}], "raid_interface": null, "boot_interface": null, "reservation": null, "management_interface": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "resource_class": null, "created_at": "2017-10-31T14:11:22.278329+00:00", "portgroups": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/portgroups", "rel": "bookmark"}], "deploy_interface": null, "ports": [{"href": "http://localhost/v1/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4137a28-3cfc-4fe8-812d-9ed5846842a0/ports", "rel": "bookmark"}], "console_interface": null, "driver_internal_info": {"private_state": "secret value"}, "chassis_uuid": null, "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_disabled [0.074139s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'false'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-86bc697a-ae3f-4c7c-92de-ca40f0c99612 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_properties [0.127467s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-4687c4c0-5247-4f72-b751-e3460ba091e9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.700331+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:22.700331+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_enabled [0.043523s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-ae8fb821-4c59-45ae-a4ff-f79e09082a3f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_portgroups_subresource [0.043620s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-50611c6a-a7ec-4fcd-b806-cf639b84777f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_error [0.039007s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d68865e0-2378-480d-bc0e-57716b2b2914 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_interface_fields_bad_version [0.111170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0a614c47-3b46-46ac-9ef5-ab612b1d3829 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0c95caf4-ab11-4e66-ba29-fafc313ea843 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-31a5e66e-38b0-4f89-a192-2af26cd5cc31 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-19e09b5b-481f-4570-8ebb-35cde658dd70 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fc028c45-190b-4f3f-ba27-3685b42276f0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a0de1ad7-3c05-43cf-a372-dce4e21553e0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b52656b6-73b5-47ff-87b8-55a55d06415e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/nodes/03f756eb-6c1c-4311-a148-ca67acb8c6f8 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8badfd1a-9f37-4894-a8fe-853a0ea63095 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_no_reason [0.039579s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-4f8e4126-92a9-4917-a95b-d2d7b1975d5d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_async [0.044386s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-fa6ee987-6db6-4115-ba76-0e0a9768a938 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_network_interface_old_api [0.048565s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/f67dab31-e9ed-48cd-978e-75769d3a9235 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-72fda786-0b65-4e6e-aaf7-b0f314667f44 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.015915s] ... ok {0} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.012087s] ... ok {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_by_name [0.045635s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-aa946318-8808-4c51-97d8-6708d622b551 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 null {0} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byid [0.050253s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-e3476cc9-7132-4f2c-99c3-081377c71a09 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {3} ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_ok_by_name [0.071890s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/nodes/node-57 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db035422-e217-4663-a821-739d92f9291c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "maintenance_reason": null, "provision_state": "available", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": "node-57", "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:22.880950+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.v1.test_nodes.TestPost.test_vendor_passthru_get [0.042118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_specify_interfaces_bad_version [0.309533s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'boot_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-13f502eb-6139-45bc-a055-91aeb1e2df91 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'console_interface': 'fake', 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ef58a79f-0572-4409-b28e-1f17c175e7fc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'deploy_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-070e1d98-438a-48b9-9b3b-20cff1da9942 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'inspect_interface': 'fake', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1d64d3b2-8b74-4430-ba0b-84818fbac8f9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'management_interface': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b0956c82-1dcd-4832-9c89-2fee21be7edd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'power_interface': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-35dfac66-d770-4804-8596-281f6de3ff40 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'raid_interface': 'fake', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c0ff76a8-92fb-40ee-a499-b09e540b8749 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/nodes {'instance_uuid': None, 'name': None, 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'vendor_interface': 'fake', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cf2c7c5e-85f9-4d86-b07f-02f66b9368bc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byname [0.057027s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/fooname GOT:Response: 204 No Content Openstack-Request-Id: req-a0995673-f71b-46a1-9237-d525154eadfa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_methods [0.059815s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{u'foo': u'bar'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{u'foo': u'bar'} {1} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_put [0.042511s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-6ffe0532-dba5-423a-a3c4-25215c761f9a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_default_state_enroll [0.141503s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-cc9086b9-7c72-4c45-ac34-f65304ff1047 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "enroll", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:23.019047+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'enroll', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:23.019047+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_driver_info [0.117454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-317a3678-0695-46b7-ba81-5d51c7f7d930 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:11:23.043206+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:11:23.043206+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_abort_invalid_state [0.052740s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89260a01-aa4c-488f-a85d-99b40afe749f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_volume_connectors_subresource [0.040951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-414a84b0-ce78-4d98-94d4-9fe1467984ea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_no_such_method [0.039576s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0b6e9c1-fc50-4fa9-b5ba-fd1b44a52ed3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver fake does not support test (disabled or not implemented).\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_bad_requests_in_adopting_state [0.083112s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81278d9f-dca5-41f9-b05f-301ac9c2b339 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-38fd2736-e2c0-40ba-b388-4c2279136229 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ab990fe-ccb8-4531-98a1-6aba234efed4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_from_manage [0.049428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-cec2f9bb-8035-40c0-86bb-24410e09f194 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_default_state_none [0.159765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-d7a622f2-ae97-45ee-b66e-7d0d04b38e0c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "extra": {}, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": "available", "clean_step": {}, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "target_provision_state": null, "provision_updated_at": null, "power_state": null, "inspection_started_at": null, "inspection_finished_at": null, "maintenance": false, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "name": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:23.148345+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "driver_internal_info": {}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:23.148345+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'extra': {}, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': u'available', u'clean_step': {}, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'target_provision_state': None, u'provision_updated_at': None, u'power_state': None, u'inspection_started_at': None, u'inspection_finished_at': None, u'maintenance': False, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'name': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:23.148345+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.v1.test_portgroups.TestListPortgroups.test_collection_links [0.249315s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/?limit=3 {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'bb05291a-0548-4baa-8edc-728ff1466d25', u'links': [{u'href': u'http://localhost/v1/portgroups/bb05291a-0548-4baa-8edc-728ff1466d25', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/bb05291a-0548-4baa-8edc-728ff1466d25', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'539f25a7-1d12-4c78-ad02-bc4388e1566d', u'links': [{u'href': u'http://localhost/v1/portgroups/539f25a7-1d12-4c78-ad02-bc4388e1566d', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/539f25a7-1d12-4c78-ad02-bc4388e1566d', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'1b069c2a-77b1-4a74-b215-36fea4dfc0a8', u'links': [{u'href': u'http://localhost/v1/portgroups/1b069c2a-77b1-4a74-b215-36fea4dfc0a8', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1b069c2a-77b1-4a74-b215-36fea4dfc0a8', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=1b069c2a-77b1-4a74-b215-36fea4dfc0a8'} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_raises_error_before_1_17 [0.030978s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bb979ee7-0b9a-4d78-8a10-3bb908e9850c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_bad_requests_in_managed_state [0.085823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2c14d0a-f110-4090-8b73-5aa2878f56bb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5ee447c1-b97b-49df-982e-9ff83755227d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-352071e2-27d6-4cd8-883e-ecc012eb5789 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail [0.050906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:23.263809+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inject_nmi [0.040212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-7f899a60-f3d8-4197-878e-32d327738922 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_clean [0.047403s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': [{'interface': 'deploy', 'step': 'upgrade_firmware'}], 'target': 'clean'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-1404b473-9342-4b56-9ddd-d604f33612c7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_invalid_api_version [0.035935s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_clean_no_cleansteps [0.049773s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-55f53c79-6fb9-4045-83f5-6eab977f079c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inspect_validation_failed_status_code [0.066772s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a96dd7a-2338-4bfc-91ca-d7a3e31271c3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.063931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inject_nmi_not_supported [0.038169s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95afa8f2-266f-4fec-b744-b5d5737e4a39 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_doesnt_contain_id [0.176011s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'foo': 123}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-e8efd4da-5cd3-4e1b-98bc-c3147dae2029 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"foo": 123}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:23.318353+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'foo': 123}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:23.318353+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_by_name [0.060312s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-0394646a-429c-4b1f-9eb2-a002e993316f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inspect_already_in_progress [0.044995s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f069d41f-41fe-4cd1-947b-7ef2c7e7907f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_custom_fields_invalid_fields [0.057859s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b1d8ffad-9701-4391-9b2b-c1ae678ba0db X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.035582s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{u'portgroups': []} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_inspect_validation_failed_missing_parameter_value [0.045054s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-251aa2c6-8d31-43c2-a023-0e8aa4e339a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource_not_allowed [0.031895s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_no_chassis_uuid [0.130219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7ac685fa-e4a0-47e8-9879-2cb31cc98e20 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:23.515924+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": "******"}} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_manage_from_available [0.050707s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-7a50fb82-6a0a-4849-9d8b-6cf6c7530325 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_no_mandatory_field_driver [0.037969s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a343f6e4-89dd-48d3-9e52-6ae4d55c2195 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute driver. Value: 'None'. Mandatory field missing.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.038264s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7f330276-5c6e-45a5-a2f7-db951d80a0ba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key [0.079124s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=uuid {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'1dc9698d-f03f-4593-8a29-4c364377e700', u'links': [{u'href': u'http://localhost/v1/portgroups/1dc9698d-f03f-4593-8a29-4c364377e700', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1dc9698d-f03f-4593-8a29-4c364377e700', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'21e56853-7191-42a9-a070-d2922eac7a32', u'links': [{u'href': u'http://localhost/v1/portgroups/21e56853-7191-42a9-a070-d2922eac7a32', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/21e56853-7191-42a9-a070-d2922eac7a32', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:30', u'uuid': u'c1025b90-14c3-41a6-9def-4d809271ad5b', u'links': [{u'href': u'http://localhost/v1/portgroups/c1025b90-14c3-41a6-9def-4d809271ad5b', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c1025b90-14c3-41a6-9def-4d809271ad5b', u'rel': u'bookmark'}], u'name': u'portgroup0'}]} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_resource_class_old_api_version [0.042914s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'resource_class': 'foo', 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-295b42cf-9828-4d97-8791-7930f1bf0571 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.037925s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f8372373-8646-4896-a4f0-e73a9fe4d892 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.039482s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f6f6c078-ebba-4630-96cd-6f301f155d9a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {0} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_multi [0.068854s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b282a40d-6700-4185-9e0b-373a741cfb0b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:23.637591+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.239451s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-5fbd700c-2b42-40be-85cf-323ee4d3ee3a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.041724s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-20a7ad48-f18c-4958-a7be-63d285e0ed0c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byname [0.063877s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/fooname [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50aa33c1-f4e6-41b9-8ca1-118e9779f8a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:11:23.705296+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.037878s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7a8e5380-571b-455f-a7a8-c2f079c62ecd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provide_from_manage [0.069060s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-60042ef5-00bf-44a5-ae09-1317d9ebad8e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {0} ironic.tests.unit.api.v1.test_portgroups.TestPortgroupObject.test_portgroup_init [0.015731s] ... ok {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.038137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a939c011-b120-458a-88ae-32c57fc4c35e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_already_in_state [0.045465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e8e52e48-3634-4bac-a330-6cb6b5b7e858 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_valid_extra [0.191266s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-36ca4adb-4f34-46f6-a928-be370b7f444c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"target_power_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "target_provision_state": null, "last_error": null, "updated_at": null, "maintenance_reason": null, "provision_state": null, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "console_enabled": false, "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "provision_updated_at": null, "maintenance": false, "power_state": null, "driver": "fake", "reservation": null, "properties": {"memory_mb": "4096", "cpu_arch": "x86_64", "local_gb": "10", "cpus": "8"}, "instance_uuid": null, "driver_info": {"fake_password": "******", "foo": "bar"}, "created_at": "2017-10-31T14:11:23.737337+00:00", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "instance_info": {"foo": "bar", "image_url": "******", "configdrive": "******"}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'target_power_state': None, u'links': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'rel': u'bookmark'}], u'target_provision_state': None, u'last_error': None, u'updated_at': None, u'maintenance_reason': None, u'provision_state': None, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'console_enabled': False, u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'provision_updated_at': None, u'maintenance': False, u'power_state': None, u'driver': u'fake', u'reservation': None, u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}, u'instance_uuid': None, u'driver_info': {u'fake_password': u'******', u'foo': u'bar'}, u'created_at': u'2017-10-31T14:11:23.737337+00:00', u'ports': [{u'href': u'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'self'}, {u'href': u'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', u'rel': u'bookmark'}], u'chassis_uuid': u'e74c40e0-d825-11e2-a28f-0800200c9a66', u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.038759s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-227c705d-5b59-45e9-a996-b7bacfefd6e5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_address_already_exist [0.082766s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-3767ce0c-a2f6-4c03-be3a-9ea6ab16b776 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:23.812060+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': '92788359-533d-475a-8d5e-43cccb23e797', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': '68a2888b-ff20-4a64-bdc3-07e005880394'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6408afb8-f71d-4628-9f4f-81b395e6837c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_node_in_maintenance_fail [0.049367s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0063c8b-e7e0-4dfa-8cb6-e8d36f00d06a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_with_internal_field [0.039145s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes {'instance_uuid': None, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'driver_info': {'fake_password': 'fakepass', 'foo': 'bar'}, 'extra': {}, 'driver': 'fake', 'instance_info': {'foo': 'bar', 'image_url': 'http://example.com/test_image_url', 'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ='}, 'maintenance': False, 'reservation': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'properties': {'memory_mb': '4096', 'cpu_arch': 'x86_64', 'local_gb': '10', 'cpus': '8'}, 'name': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-836c0804-6892-4383-81c0-88e3f3606a4e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute reservation. Value: 'fake'. Cannot set read only field.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_by_name_unsupported [0.030784s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-de1e73c4-46aa-46cc-9090-3cd3fb3452ea X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_ports_subresource_no_node_id [0.034523s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e63344de-8899-4d89-8b45-c457f4a77c85 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node. Value: 'ports'. unable to convert to Node. Error: __init__() takes exactly 1 argument (2 given)\"}"} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_cleansteps_not_clean [0.048982s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': 'foo', 'target': 'provide'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7bced995-4148-480e-8698-5b3711307782 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is only valid when setting target provision state to clean\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_deploy [0.042553s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-5344467d-9158-445a-9cb0-56b318e2a32f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_post_volume_targets_subresource [0.044578s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8e221088-c7dc-484b-bdf7-3df7f5819a4f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_doesnt_contain_id [0.089471s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'foo': 123}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-4dbab9f5-c136-4755-8f04-38844172542e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:11:23.897712+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:11:23.897712+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'} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_configdrive_not_active [0.040428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1f700674-5237-4905-b37b-f132b2e6057d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_deploy_configdrive [0.043925s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': 'foo'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4a6046ac-26db-4e7d-af0d-35ac3700d604 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_delete [0.049270s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-75c4ad5d-33c8-4423-9d97-52d4e9ceb345 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_deploy_after_deployfail [0.045536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2c0e90d9-12ae-46be-b8d8-bf99414908f4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.046949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4f6645b3-2a71-4c33-aa64-7d1ba02696e6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_persistent_invalid_value [0.030468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2376f01f-ec58-4eae-9540-526baf01550a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute persistent. Value: 'blah'. unable to convert to boolean. Error: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid_older_version [0.033034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f8b00da4-62cf-4fde-9a3e-de8027ffd649 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPost.test_vendor_passthru_sync [0.050893s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1665a456-72a0-4b0c-804d-ff248e7e20bf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_generate_uuid [0.097080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29 Openstack-Request-Id: req-1a312f50-abae-4371-8a94-4b54896ba571 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "563d58a8-57e2-4b2e-9e07-5037289b1d29", "links": [{"href": "http://localhost/v1/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29", "rel": "self"}, {"href": "http://localhost/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:23.999317+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29/ports", "rel": "self"}, {"href": "http://localhost/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29/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/563d58a8-57e2-4b2e-9e07-5037289b1d29 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'563d58a8-57e2-4b2e-9e07-5037289b1d29', u'links': [{u'href': u'http://localhost/v1/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:23.999317+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/563d58a8-57e2-4b2e-9e07-5037289b1d29/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/563d58a8-57e2-4b2e-9e07-5037289b1d29/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_console_not_supported [0.043536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3144c5a-bce3-4619-8464-fa6de04f993c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_invalid_addr_format [0.038748s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'invalid-format', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-397c0ef2-5d4d-4617-85e2-926355b500a5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_boot_device_persistent [0.043848s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-ebcc0382-d506-4ce1-ad70-1b43a71807bd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_abort_cleanwait [0.054357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-25168c44-5325-470c-bdf0-c617b50867c7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {1} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.034280s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-5a35cc3e-104b-40c3-ad6c-9374c2709381 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.009421s] ... ok {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_by_name [0.040716s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states/console Openstack-Request-Id: req-226dcfc1-fe59-4682-8e81-3cd6b217908c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_invalid_api_version [0.043529s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bcac4315-82bc-422e-a06a-cacc7e4c442b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_from_active_fails [0.054869s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28fcc9d1-b8c0-4e8b-b263-20903f46bac6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byname_not_existed [0.032897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f8899281-ee69-4205-9a84-fd008b13fb23 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_mode_bad_request [0.032507s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'invalid-value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae55b47c-1ac9-49ab-8ef7-5c5b47ffadff X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute enabled. Value: 'invalid-value'. unable to convert to boolean. 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.v1.test_portgroups.TestPost.test_create_portgroup_invalid_node_uuid_format [0.038614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': 'invalid-format', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae02fe57-c6fb-4fa7-8022-1b0a00447170 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_invalid_api_version [0.026359s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode [0.033726s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-cb32de25-d89a-41da-a527-c5151f221b9a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.010675s] ... ok {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_adopt_from_adoptfail [0.062524s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ea663e64-fe76-4348-96c6-8bab57cbaefe X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {2} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.010735s] ... ok {1} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_node_locked [0.049951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-eff95367-7039-408f-ae7d-43f8a0d8cbb0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {2} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.013800s] ... ok {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_mode_old_api_version [0.077336s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7a70364d-3d13-4b82-b3f0-3ebf6990135d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'properties': {'bond_prop': 123}, 'name': 'fooname'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4ca92cce-507e-4a7c-a9da-1f08e83f3da2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestDelete.test_delete_portgroup_byaddress [0.027475s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 52:54:00:cf:2d:31. "} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_against_single [0.034076s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-454231d6-6206-43bf-8124-7dd4e7e386c2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_sort_key_not_allowed [0.027738s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0a334b4b-50f9-40be-a358-089e80014ea1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_name_invalid [0.045902s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'aa:bb_cc'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1bfb1ac3-84fc-4499-86e8-9f35af763c7c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_bad_requests_in_adoption_failed_state [0.094628s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb2ffae3-dc91-401d-ab9f-03fd951679b3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-61827eed-3461-4f61-9d63-8eb1cdddedd6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9fda140c-80fc-4fcb-b5e4-e346f1aa60ee X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_by_node_name_ok [0.047157s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?node=test-node {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:24.285874+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'}]} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_empty [0.034466s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': []} {0} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_node_uuid_not_found [0.050063s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e1d6776-94a9-4ee7-be22-121148aab005 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_clean_check_steps_fail [0.053747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'clean_steps': [{'interface': 'deploy', 'step': 'upgrade_firmware'}], 'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f2dc6d95-3368-4a4a-babf-e50764d02274 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"bad\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_all_by_node_name_ok [0.068632s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?node=test-node {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'c9ba65a9-a498-4287-a3e2-53d89332c647', u'links': [{u'href': u'http://localhost/v1/portgroups/c9ba65a9-a498-4287-a3e2-53d89332c647', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c9ba65a9-a498-4287-a3e2-53d89332c647', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'0b7b9469-a94e-4f44-afd6-1502f5611a8d', u'links': [{u'href': u'http://localhost/v1/portgroups/0b7b9469-a94e-4f44-afd6-1502f5611a8d', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0b7b9469-a94e-4f44-afd6-1502f5611a8d', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'0607f43d-ea47-48b4-b174-453bb8fdf5a6', u'links': [{u'href': u'http://localhost/v1/portgroups/0607f43d-ea47-48b4-b174-453bb8fdf5a6', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0607f43d-ea47-48b4-b174-453bb8fdf5a6', u'rel': u'bookmark'}], u'name': u'portgroup2'}]} {0} ironic.tests.unit.api.v1.test_ports.TestDelete.test_delete_port_byaddress [0.040205s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-33dede98-5154-46e9-93ec-dfd0b59bb3f0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_collection_custom_fields [0.062515s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?fields=uuid,extra {} GOT:{u'portgroups': [{u'uuid': u'd5b36a50-4b3b-4ee7-842c-875af67463f9', u'links': [{u'href': u'http://localhost/v1/portgroups/d5b36a50-4b3b-4ee7-842c-875af67463f9', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d5b36a50-4b3b-4ee7-842c-875af67463f9', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'c6cf2262-4af9-40c6-802f-28156a600156', u'links': [{u'href': u'http://localhost/v1/portgroups/c6cf2262-4af9-40c6-802f-28156a600156', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c6cf2262-4af9-40c6-802f-28156a600156', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'718eec71-56bc-4842-bec5-2c26b12c2d76', u'links': [{u'href': u'http://localhost/v1/portgroups/718eec71-56bc-4842-bec5-2c26b12c2d76', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/718eec71-56bc-4842-bec5-2c26b12c2d76', u'rel': u'bookmark'}], u'extra': {}}]} {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.032368s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7b3fe827-5004-4f77-b01b-2de8e527d2bf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.031791s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6260f378-9a98-46dc-97b2-0a03b79ed801 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestDelete.test_delete_port_byid [0.053615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-7cf72042-a6c0-4dfe-9756-0405c0643595 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_one [0.043756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'name': u'fooname'}]} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one [0.043840s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:24.450270+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one_invalid_api_version [0.026640s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_ports.TestDelete.test_delete_port_node_locked [0.068716s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1ed287c8-fd6c-405e-aa72-93f5cc7333ba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_node_uuid [0.064926s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-042dafca-3df9-41d3-aa37-16a80212e3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:24.484950+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_by_address [0.052860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'portgroups': [{u'address': u'aa:bb:cc:dd:ee:f1', u'uuid': u'7f51db24-95c7-4853-8d7e-3ba4799d266b', u'links': [{u'href': u'http://localhost/v1/portgroups/7f51db24-95c7-4853-8d7e-3ba4799d266b', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/7f51db24-95c7-4853-8d7e-3ba4799d266b', u'rel': u'bookmark'}], u'name': u'portgroup1'}]} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_node_id [0.038661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14c6ad4d-ebd5-424a-868c-c4b0a1d1b98c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_manage_from_adoptfail [0.227802s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a39f93c2-5b8b-437e-9f46-e364b6531918 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.038356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1c5e4d8d-7190-44f1-bd52-3a587159a044 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_collection_links [0.085228s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/?limit=3 {} GOT:{u'ports': [{u'uuid': u'953b8f68-4754-4ee7-9e52-186cdda114c1', u'links': [{u'href': u'http://localhost/v1/ports/953b8f68-4754-4ee7-9e52-186cdda114c1', u'rel': u'self'}, {u'href': u'http://localhost/ports/953b8f68-4754-4ee7-9e52-186cdda114c1', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'92b16bd2-058e-4cb4-98f1-2d96cf15dc30', u'links': [{u'href': u'http://localhost/v1/ports/92b16bd2-058e-4cb4-98f1-2d96cf15dc30', u'rel': u'self'}, {u'href': u'http://localhost/ports/92b16bd2-058e-4cb4-98f1-2d96cf15dc30', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'7247b1d8-08b7-45ac-a87e-602897300eef', u'links': [{u'href': u'http://localhost/v1/ports/7247b1d8-08b7-45ac-a87e-602897300eef', u'rel': u'self'}, {u'href': u'http://localhost/ports/7247b1d8-08b7-45ac-a87e-602897300eef', 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=7247b1d8-08b7-45ac-a87e-602897300eef'} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_non_existent_property_fail [0.038395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2dc17472-2bee-405c-9711-fc36bdc538a5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.030209s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/359b4d0d-ab3e-40ba-a1bf-2cf589654779/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_against_single [0.038963s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3376baeb-9cb1-4992-a9aa-49ea4cb43263 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.032545s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-661606ba-1e49-420d-8d7b-7de3c33b4353 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_node_uuid [0.058260s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ed05921b-5057-4fc2-b556-f1a0f6e7d7e1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:24.630133+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_change_when_being_cleaned [0.080382s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-174411bd-6647-468e-a59f-c82ae612618c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\"}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a6d8714-1613-4786-b34e-01cfae59680d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"clean wait\\\".\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_empty [0.042959s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': []} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byaddress_not_allowed [0.027069s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 52:54:00:cf:2d:31. "} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_by_name_unsupported [0.034938s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a2b94859-9c77-4bfb-a96e-3c7e4f15c960 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key_allowed [0.064221s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=mode {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:31', u'uuid': u'4c6c6bfc-dd2b-41d8-933b-e9aff6e9ced2', u'links': [{u'href': u'http://localhost/v1/portgroups/4c6c6bfc-dd2b-41d8-933b-e9aff6e9ced2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/4c6c6bfc-dd2b-41d8-933b-e9aff6e9ced2', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'00f876b4-a296-404d-b8a5-dd8f6bb011aa', u'links': [{u'href': u'http://localhost/v1/portgroups/00f876b4-a296-404d-b8a5-dd8f6bb011aa', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/00f876b4-a296-404d-b8a5-dd8f6bb011aa', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'c9d3195c-02a1-4e1d-9311-e49e47904ca9', u'links': [{u'href': u'http://localhost/v1/portgroups/c9d3195c-02a1-4e1d-9311-e49e47904ca9', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/c9d3195c-02a1-4e1d-9311-e49e47904ca9', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_not_found [0.036101s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/a308187c-a94f-48af-9632-30e3df189fca [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-585a9160-d90f-4bb1-87ac-9795e33056d9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup a308187c-a94f-48af-9632-30e3df189fca could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.042359s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b83f71dc-d590-412a-9302-c39f7d85ea43 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_name [0.067199s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=fooname {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:24.722703+00:00'}]} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key_invalid [0.055503s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84c8f85b-d6ef-41b1-8886-369bcf611388 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-721a6c07-328a-49c6-bfc2-b4958979f1fa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cd7d7bd9-0795-4b61-85c3-b888de6970a2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/portgroups?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-22ab86e7-4998-4dd9-9f59-1945570d426c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_address_normalized [0.062325s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97613d59-9674-48f4-ad19-002a11ace567 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:24.757229+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.045585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7a428f36-077c-4338-b572-41df70922757 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.038591s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4&node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dfd27a8d-0cc4-4719-8532-284ab8645542 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_sort_key_not_allowed [0.030982s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-01a57a5b-b584-47c6-9e4d-36dd1023dea6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.043786s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1c010da3-0f5a-4803-96ae-776a6b0905fa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_standalone_ports_supported [0.059708s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a8a567d1-9f94-40a8-82a1-ac0371b9e697 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:24.822459+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": false, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_address [0.058376s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6fcb4ef0-f1d4-4cf1-8462-3c854f951264 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:24.839533+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": null, "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.043345s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-12620e86-12da-4964-8fda-3b689275c49a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.027438s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_collection_custom_fields [0.131115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?fields=uuid,extra {} GOT:{u'ports': [{u'uuid': u'00d85ba8-7a75-4d0b-8cdf-7e57be74b859', u'links': [{u'href': u'http://localhost/v1/ports/00d85ba8-7a75-4d0b-8cdf-7e57be74b859', u'rel': u'self'}, {u'href': u'http://localhost/ports/00d85ba8-7a75-4d0b-8cdf-7e57be74b859', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'9cc20ad5-7407-4dce-ad21-2e1ea518f23e', u'links': [{u'href': u'http://localhost/v1/ports/9cc20ad5-7407-4dce-ad21-2e1ea518f23e', u'rel': u'self'}, {u'href': u'http://localhost/ports/9cc20ad5-7407-4dce-ad21-2e1ea518f23e', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'8616bd8e-e126-43f2-81b6-2fb32ae2b0b3', u'links': [{u'href': u'http://localhost/v1/ports/8616bd8e-e126-43f2-81b6-2fb32ae2b0b3', u'rel': u'self'}, {u'href': u'http://localhost/ports/8616bd8e-e126-43f2-81b6-2fb32ae2b0b3', u'rel': u'bookmark'}], u'extra': {}}]} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_already_in_progress [0.050242s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2b254ece-708b-4609-a0ce-574d9c6ad92a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\"}"} {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byid [0.066478s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d11e49e3-47cb-427e-b8c0-494c1bde7323 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:11:24.902794+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup [0.071316s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-a2508677-3f99-476d-ac22-d409485fc42c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_invalid_name [0.036664s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/fooname [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-257552e4-dd3c-4e53-af8e-28f147f367ca X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup fooname: Cannot change name to invalid name 'aa:bb_cc'\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_provision_with_tear_down [0.055625s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-6c3032c8-64c1-4354-ba04-c85deac7a21b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_invalid_fields [0.074705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40ebb8d7-9436-4d3f-9f87-bb585dbf5c10 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_mode_properties [0.053137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'address': '52:54:00:cf:2d:31', 'properties': {'bond_prop': 123}, 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-115e5c36-30df-4833-acaa-196a742bdb96 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.003252+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {"bond_prop": 123}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.043254s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3b0a1f99-fed3-411b-b0a0-b7baecb0e531 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'value': 123, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c259e8bb-ea4c-473c-a8f6-ab58a3cc0394 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_put_raid_invalid_parameter_value [0.047374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b188c898-cb8a-400b-b913-f9e3716b3e19 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"foo\"}"} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_console_by_name_unsupported [0.032624s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d84def3c-5337-4e02-a15a-dd1d41f98637 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_physical_network [0.065906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b05473bb-b654-483d-9712-148df099e95b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:{u'physical_network': u'physnet1', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}]} {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_address_normalized [0.068467s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:BB:CC:DD:EE:FF', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-37384870-44df-40db-ba4a-6a6279a55c2a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.068964+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.068964+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'aa:bb:cc:dd:ee:ff', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_name_ok [0.089751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': 'AA:AA:AA:11:22:33', 'name': 'foo'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-1f6ea2cf-4ead-43eb-a8a3-a15cc2c778b1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.070159+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:aa:aa:11:22:33", "internal_info": {}, "properties": {}, "name": "foo"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.070159+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'aa:aa:aa:11:22:33', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'foo'} {3} ironic.tests.unit.api.v1.test_nodes.TestPut.test_set_node_maintenance_mode_by_name [0.040301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-9e0f609d-28b7-4007-a8b4-3b372ae5552d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.010637s] ... ok {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_one [0.057251s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.111337+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {3} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.016116s] ... ok {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_default_mode [0.054350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-57040eba-ca37-46b9-8ef9-663c077657a1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.140443+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.011962s] ... ok {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_no_address [0.073444s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-1264310f-853d-4f15-afa7-22dd7440357c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.156360+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": null, "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.156360+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'} {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_internal_info_not_allowed [0.030930s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'internal_info': 'info', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4f9888a2-cf69-4db9-bcf0-5fbb003744b5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute portgroup. Value: '{'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'internal_info': 'info', 'name': 'fooname'}'. Value not a valid dict: info\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_one_custom_fields [0.061158s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} GOT:{u'address': u'52:54:00:cf:2d:31', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.031164s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ddcb6e81-001e-4476-adfb-52d2bd22a29e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_collection_links_default_limit [0.077226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'd9aee2bf-eed9-45b2-ac39-70b9e45aa8ca', u'links': [{u'href': u'http://localhost/v1/portgroups/d9aee2bf-eed9-45b2-ac39-70b9e45aa8ca', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/d9aee2bf-eed9-45b2-ac39-70b9e45aa8ca', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'1126079b-c168-4772-8dcd-aea8c79921f2', u'links': [{u'href': u'http://localhost/v1/portgroups/1126079b-c168-4772-8dcd-aea8c79921f2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1126079b-c168-4772-8dcd-aea8c79921f2', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'0dfdd921-94e1-4e52-be06-c8d373e07948', u'links': [{u'href': u'http://localhost/v1/portgroups/0dfdd921-94e1-4e52-be06-c8d373e07948', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/0dfdd921-94e1-4e52-be06-c8d373e07948', u'rel': u'bookmark'}], u'name': u'portgroup2'}], u'next': u'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&limit=3&marker=0dfdd921-94e1-4e52-be06-c8d373e07948'} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_one [0.050971s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {1} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_valid_extra [0.076811s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-71798f91-f1f3-4ed7-8d56-f62b4c51230e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:11:25.230636+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:11:25.230636+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.048438s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {'vif_port_id': 'foo'}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-e91f2672-1e6b-4b09-b40f-30ae582a6507 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "created_at": "2017-10-31T14:11:25.256601+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_detail_sort_key_allowed [0.067734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?sort_key=mode {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'a9b68a5a-7de0-4394-8043-19bac4abc94f', u'links': [{u'href': u'http://localhost/v1/portgroups/a9b68a5a-7de0-4394-8043-19bac4abc94f', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a9b68a5a-7de0-4394-8043-19bac4abc94f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.267131+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/a9b68a5a-7de0-4394-8043-19bac4abc94f/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/a9b68a5a-7de0-4394-8043-19bac4abc94f/ports', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'bac63eba-64d7-41e5-9753-30179d1a186e', u'links': [{u'href': u'http://localhost/v1/portgroups/bac63eba-64d7-41e5-9753-30179d1a186e', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/bac63eba-64d7-41e5-9753-30179d1a186e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.264972+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/bac63eba-64d7-41e5-9753-30179d1a186e/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/bac63eba-64d7-41e5-9753-30179d1a186e/ports', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'fd3b6f8c-a58f-42e8-8882-0fffae0e50b9', u'links': [{u'href': u'http://localhost/v1/portgroups/fd3b6f8c-a58f-42e8-8882-0fffae0e50b9', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/fd3b6f8c-a58f-42e8-8882-0fffae0e50b9', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.262654+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/fd3b6f8c-a58f-42e8-8882-0fffae0e50b9/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/fd3b6f8c-a58f-42e8-8882-0fffae0e50b9/ports', u'rel': u'bookmark'}], u'name': u'portgroup3'}]} {1} ironic.tests.unit.api.v1.test_ports.TestDelete.test_portgroups_subresource_delete [0.044888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/889733c4-516f-4bef-bd24-671c4a65023a GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b280aeaf-09e4-412c-bd0e-18d9e149b664 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_with_no_extra [0.053184s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-e2cc7c2b-68a6-4674-8dfe-b63ade1c3d0f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.310676+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_sort_key [0.072283s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=uuid {} GOT:{u'ports': [{u'uuid': u'98af3897-55c2-4adc-b7d5-5d3e9246dc33', u'links': [{u'href': u'http://localhost/v1/ports/98af3897-55c2-4adc-b7d5-5d3e9246dc33', u'rel': u'self'}, {u'href': u'http://localhost/ports/98af3897-55c2-4adc-b7d5-5d3e9246dc33', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'b56b4a49-b74b-4351-ba6a-9827ae59a5a6', u'links': [{u'href': u'http://localhost/v1/ports/b56b4a49-b74b-4351-ba6a-9827ae59a5a6', u'rel': u'self'}, {u'href': u'http://localhost/ports/b56b4a49-b74b-4351-ba6a-9827ae59a5a6', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'dee43a40-c98d-41e2-80ea-acbd3d8561c2', u'links': [{u'href': u'http://localhost/v1/ports/dee43a40-c98d-41e2-80ea-acbd3d8561c2', u'rel': u'self'}, {u'href': u'http://localhost/ports/dee43a40-c98d-41e2-80ea-acbd3d8561c2', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_by_node_name_not_supported [0.041468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7d88a811-9447-4678-9560-d9163ddf42e1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_all_by_node_uuid_ok [0.051819s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'portgroups': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.333426+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.v1.test_ports.TestListPorts.test_sort_key_allowed [0.054539s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=pxe_enabled {} GOT:{u'ports': [{u'uuid': u'8bb50740-9bb1-4606-96ae-898c612b5b9b', u'links': [{u'href': u'http://localhost/v1/ports/8bb50740-9bb1-4606-96ae-898c612b5b9b', u'rel': u'self'}, {u'href': u'http://localhost/ports/8bb50740-9bb1-4606-96ae-898c612b5b9b', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'3ee0e9ae-19ee-4a1c-ab83-c7c20cf23a22', u'links': [{u'href': u'http://localhost/v1/ports/3ee0e9ae-19ee-4a1c-ab83-c7c20cf23a22', u'rel': u'self'}, {u'href': u'http://localhost/ports/3ee0e9ae-19ee-4a1c-ab83-c7c20cf23a22', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_collection_links_default_limit [0.066800s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'67e278f9-4945-44db-a751-8c23ddddb6d9', u'links': [{u'href': u'http://localhost/v1/ports/67e278f9-4945-44db-a751-8c23ddddb6d9', u'rel': u'self'}, {u'href': u'http://localhost/ports/67e278f9-4945-44db-a751-8c23ddddb6d9', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'5dddef5a-dcc6-4708-be8d-38f545c85dc3', u'links': [{u'href': u'http://localhost/v1/ports/5dddef5a-dcc6-4708-be8d-38f545c85dc3', u'rel': u'self'}, {u'href': u'http://localhost/ports/5dddef5a-dcc6-4708-be8d-38f545c85dc3', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'e803cd3f-cef5-436c-8ce5-5689ea2e652b', u'links': [{u'href': u'http://localhost/v1/ports/e803cd3f-cef5-436c-8ce5-5689ea2e652b', u'rel': u'self'}, {u'href': u'http://localhost/ports/e803cd3f-cef5-436c-8ce5-5689ea2e652b', 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=e803cd3f-cef5-436c-8ce5-5689ea2e652b'} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_get_one_custom_fields [0.046385s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} GOT:{u'address': u'52:54:00:cf:2d:31', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_by_node_name_ok [0.054715s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node=test-node {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.380571+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_sort_key_not_allowed [0.028779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2af1b3f0-4992-4272-b9c2-7384e7302ac2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_portgroups_subresource_patch [0.042140s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/086c0c92-511b-453b-a3a2-8b2edf103078 [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2f5c71ab-f32b-49b6-ab32-d91d45852376 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_with_incorrect_api_usage [0.036600s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{u'created_at': {}, u'next': {}, u'updated_at': {}, u'ports': []} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_physical_network_upgrade [0.041081s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5c8dd968-bbdb-4d7b-8c39-b726568bb122 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail_sort_key_allowed [0.068407s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'07d9a371-6be7-4ad4-b477-211dea3e1c2b', u'links': [{u'href': u'http://localhost/v1/ports/07d9a371-6be7-4ad4-b477-211dea3e1c2b', u'rel': u'self'}, {u'href': u'http://localhost/ports/07d9a371-6be7-4ad4-b477-211dea3e1c2b', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:25.441497+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'87c5f7ca-06cc-4cba-8172-48cf1b775c42', u'links': [{u'href': u'http://localhost/v1/ports/87c5f7ca-06cc-4cba-8172-48cf1b775c42', u'rel': u'self'}, {u'href': u'http://localhost/ports/87c5f7ca-06cc-4cba-8172-48cf1b775c42', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:25.443716+00:00'}]} {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.034553s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4d3da8e9-4a48-47fc-b33f-f5d3bc427d99 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_links [0.096685s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'links': [{u'href': u'http://localhost/v1/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.434430+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/e8044893-1d59-4381-8dd2-6e65bb2a61f0/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /v1/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'links': [{u'href': u'http://localhost/v1/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.434430+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/e8044893-1d59-4381-8dd2-6e65bb2a61f0/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0/ports', u'rel': u'bookmark'}], u'name': u'fooname'} GET: /portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'links': [{u'href': u'http://localhost/v1/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.434430+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/e8044893-1d59-4381-8dd2-6e65bb2a61f0/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/e8044893-1d59-4381-8dd2-6e65bb2a61f0/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_physical_network_upgrade [0.044522s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4459faae-d6fd-4583-81af-fc2f4c5fc609 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_node_name_not_supported [0.048831s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-391d2039-72fd-4237-93a2-9982c2750d31 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_invalid_api_version [0.033858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8fef5991-74e7-482b-81ba-7721281c4dc6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_links_public_url [0.076194s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'links': [{u'href': u'http://foo/v1/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'rel': u'self'}, {u'href': u'http://foo/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.518511+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'links': [{u'href': u'http://foo/v1/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'rel': u'self'}, {u'href': u'http://foo/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.518511+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'links': [{u'href': u'http://foo/v1/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'rel': u'self'}, {u'href': u'http://foo/ports/eaeb6d8f-1269-4b0b-a04e-a0421810ae05', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.518511+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_many [0.089556s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups {} GOT:{u'portgroups': [{u'address': u'52:54:00:cf:2d:30', u'uuid': u'97aa6f88-e6f2-4976-aede-5462606c7eb2', u'links': [{u'href': u'http://localhost/v1/portgroups/97aa6f88-e6f2-4976-aede-5462606c7eb2', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/97aa6f88-e6f2-4976-aede-5462606c7eb2', u'rel': u'bookmark'}], u'name': u'portgroup0'}, {u'address': u'52:54:00:cf:2d:31', u'uuid': u'20efae2a-272c-46c4-8d4b-a5b30681046c', u'links': [{u'href': u'http://localhost/v1/portgroups/20efae2a-272c-46c4-8d4b-a5b30681046c', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/20efae2a-272c-46c4-8d4b-a5b30681046c', u'rel': u'bookmark'}], u'name': u'portgroup1'}, {u'address': u'52:54:00:cf:2d:32', u'uuid': u'3c7d8dc4-2645-4ff1-ae72-34c64a371d49', u'links': [{u'href': u'http://localhost/v1/portgroups/3c7d8dc4-2645-4ff1-ae72-34c64a371d49', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/3c7d8dc4-2645-4ff1-ae72-34c64a371d49', u'rel': u'bookmark'}], u'name': u'portgroup2'}, {u'address': u'52:54:00:cf:2d:33', u'uuid': u'1a115896-0fa6-44e4-9dac-57d9cc2ed6de', u'links': [{u'href': u'http://localhost/v1/portgroups/1a115896-0fa6-44e4-9dac-57d9cc2ed6de', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/1a115896-0fa6-44e4-9dac-57d9cc2ed6de', u'rel': u'bookmark'}], u'name': u'portgroup3'}, {u'address': u'52:54:00:cf:2d:34', u'uuid': u'aa6ab0e7-2bb2-4723-b333-e5110558dcb3', u'links': [{u'href': u'http://localhost/v1/portgroups/aa6ab0e7-2bb2-4723-b333-e5110558dcb3', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/aa6ab0e7-2bb2-4723-b333-e5110558dcb3', u'rel': u'bookmark'}], u'name': u'portgroup4'}]} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid [0.083048s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '680b36a5-5bbb-47b4-9a7b-47035cb093aa', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3e704ce-5400-4939-a62a-64372b962d73 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "680b36a5-5bbb-47b4-9a7b-47035cb093aa", "updated_at": "2017-10-31T14:11:25.583205+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:11:25.539199+00:00"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.033580s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2de25b33-0741-4340-be70-73f27d63cb7a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress. Error: Expected a MAC address but received invalid-mac-format.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_node_uuid [0.061291s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9b3bbc0-1e11-4dba-bdd4-908f8319981c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.597851+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.api.v1.test_ports.TestPatch.test_set_pxe_enabled_false_old_api [0.036928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': False, 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f600320f-8f4b-4ece-a745-184af213045a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPortObject.test_port_init [0.009479s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.092660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.595906+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch', u'port_id': u'Gig0/1', u'switch_id': u'aa:bb:cc:dd:ee:ff'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'created_at': u'2017-10-31T14:11:25.595906+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.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.013657s] ... ok {0} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.012875s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_physical_network_upgrade [0.037836s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b1282a01-fa37-459e-9a2e-ceb294a2766c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.074737s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.691652+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:25.691652+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'foo': u'bar'}} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_address_already_exist [0.058424s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'AA:AA:AA:11:22:33'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9d686837-1159-44c0-99c4-759e57dc269d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_port_by_address_non_existent_address [0.040614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{u'ports': []} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_multi [0.103086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c96cc23c-fd20-41c3-9199-940155fabdf4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:25.699226+00:00", "updated_at": "2017-10-31T14:11:25.732750+00:00", "address": "52:54:00:cf:2d:31"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6da32ea8-4dc5-4e5b-ac65-c31ae901d75b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.699226+00:00", "updated_at": "2017-10-31T14:11:25.771262+00:00", "address": "52:54:00:cf:2d:31"} {3} ironic.tests.unit.api.v1.test_portgroups.TestListPortgroups.test_ports_subresource [0.159463s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/0e784573-27f1-44ba-b887-20cb123edb79/ports {} GOT:{u'ports': [{u'uuid': u'e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'links': [{u'href': u'http://localhost/v1/ports/e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'rel': u'self'}, {u'href': u'http://localhost/ports/e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'9d303239-ae43-48a8-bf00-91f7c4342dfd', u'links': [{u'href': u'http://localhost/v1/ports/9d303239-ae43-48a8-bf00-91f7c4342dfd', u'rel': u'self'}, {u'href': u'http://localhost/ports/9d303239-ae43-48a8-bf00-91f7c4342dfd', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}]} GET: /v1/portgroups/0e784573-27f1-44ba-b887-20cb123edb79/ports/detail {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'links': [{u'href': u'http://localhost/v1/ports/e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'rel': u'self'}, {u'href': u'http://localhost/ports/e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'0e784573-27f1-44ba-b887-20cb123edb79', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:30', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:25.661257+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'9d303239-ae43-48a8-bf00-91f7c4342dfd', u'links': [{u'href': u'http://localhost/v1/ports/9d303239-ae43-48a8-bf00-91f7c4342dfd', u'rel': u'self'}, {u'href': u'http://localhost/ports/9d303239-ae43-48a8-bf00-91f7c4342dfd', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'0e784573-27f1-44ba-b887-20cb123edb79', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:25.666119+00:00'}]} GET: /v1/portgroups/0e784573-27f1-44ba-b887-20cb123edb79/ports?limit=1 {} GOT:{u'ports': [{u'uuid': u'e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'links': [{u'href': u'http://localhost/v1/ports/e9def823-a1fd-4ee4-9ce6-a59af67c0efe', u'rel': u'self'}, {u'href': u'http://localhost/ports/e9def823-a1fd-4ee4-9ce6-a59af67c0efe', 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=e9def823-a1fd-4ee4-9ce6-a59af67c0efe'} GET: /v1/portgroups/0e784573-27f1-44ba-b887-20cb123edb79/ports/7ad9b6d7-d024-44d4-b48a-56624f0a4be6 {} 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/0e784573-27f1-44ba-b887-20cb123edb79/ports/3577133f-7245-4b61-8bf3-a02e8229c1eb {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f3a0d39f-b255-4ef6-91f5-0e5b292c3c88 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_portgroups_subresource_node_not_found [0.034065s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_node_id [0.039755s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce27b0ca-98b8-4d31-b194-d1f4647659ac X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_doesnt_contain_id [0.105221s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'foo': 123}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c647ce84-675f-4e69-b8df-a3954740db5f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:25.798605+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2017-10-31T14:11:25.798605+00:00'} {1} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_sort_key_not_allowed [0.040888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a890aead-230a-4ebb-90ec-800a665a0955 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_physical_network [0.066690s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1ea7661-d5e5-4fa4-9482-2d2cac0bed63 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2017-10-31T14:11:25.837617+00:00", "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:11:25.803321+00:00"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_node_uuid_not_found [0.043123s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e3624546-bdd5-4450-bfb6-5cb8de397c89 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_uuid [0.035083s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-820c870d-b91c-46b3-8ad2-2a7ee0e1f223 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_root [0.068019s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-85836fc8-0371-4372-baab-33e5bde1ac31 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.856988+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_node_id [0.052921s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a6f8e4c-71ae-4265-af18-1372af6266fb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_add_root_non_existent [0.039608s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-41349222-0898-4f3a-855b-0200fa973da4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_address_already_exist [0.050987s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e118da3d-e29e-48f6-acf6-a2aaeca54010 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_pxe_noportgroup [0.065201s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8a564f87-0b85-452a-9a1c-2c3d8c5a1c23 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:25.936920+00:00"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_mode_not_allowed [0.037480s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ed2b0e4f-7377-4540-8e48-afc450b83380 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/mode' is a mandatory attribute and can not be removed\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_node_id [0.036944s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c3a157bf-7f2c-4398-8b6f-556ef9d5e929 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_root [0.073530s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-885ba4c8-03e0-4da7-bd5b-d1e3c552c594 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:25.926427+00:00", "updated_at": "2017-10-31T14:11:25.966668+00:00", "address": "aa:bb:cc:dd:ee:ff"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.073916s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5bd0815f-ec99-4775-b068-f5fca1038620 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:26.010865+00:00"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_root_non_existent [0.052391s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-071ac6fe-6a07-45b5-bcbd-d15e83daaccd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_node_uuid [0.072476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7981b7e5-a5c0-4f1b-bc7b-25178862dbd4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:26.003126+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_invalid_physnet_too_long [0.043808s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4491bff3-f557-47fa-9cb3-36c60dd5b01d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_different_nodes [0.060554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': 'c734e125-36a9-494f-a8f3-5b3a9c629ed2', '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-bb32c2ed-f2f4-4e98-9119-d23953888d9f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node c734e125-36a9-494f-a8f3-5b3a9c629ed2 could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_multi [0.124665s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d14ac04d-d16c-471c-8fed-b9fa1900ba2a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:26.000797+00:00", "updated_at": "2017-10-31T14:11:26.005793+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0703a58-f346-4ab3-8b79-9a7dada15ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:26.000797+00:00", "updated_at": "2017-10-31T14:11:26.005793+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_mandatory_field [0.044614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0464fc85-ccb4-4593-ab6a-42eabc6c83a9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/address' is a mandatory attribute and can not be removed\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid_remove_add [0.077525s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '31eeba75-42fe-4d3d-a131-b980ccd28d00', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '71ceab65-f78d-4b84-a320-669f441c5a42', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1ae4830-efb2-4f0a-a20f-b502819556f6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "71ceab65-f78d-4b84-a320-669f441c5a42", "updated_at": "2017-10-31T14:11:26.116562+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:11:26.075839+00:00"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_remove_uuid [0.050469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb5675a6-73cd-4a8d-9909-692df5de887b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_byaddress_not_allowed [0.035018s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88b86f48-3604-4658-a5a3-8dbf83704a57 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute port_uuid. Value: '52:54:00:cf:2d:31'. unable to convert to uuid. Error: Expected a UUID but received 52:54:00:cf:2d:31.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_non_existent_property_fail [0.046933s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-70aaa378-cbbe-4cc5-bb1f-79d52ae40bf5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_physical_network [0.093090s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5a80c973-6481-4e13-8a8b-d32b1fd446b5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:26.154888+00:00"} {2} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_pxe_enabled_old_api_version [0.036857s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3665f3ee-5846-461f-a168-a4e0c80d09ed X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_physical_network_old_api_version [0.051849s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-934bcdc1-a320-48d1-a2e6-90904fd6d5f0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.019324s] ... ok {0} ironic.tests.unit.api.v1.test_ports.TestPost.test_portgroups_subresource_post [0.051522s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-758e4829-bb66-46dc-84fc-5083a3997aa7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.013073s] ... ok {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_address_already_exist [0.088234s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-164e98f1-0f73-4c13-b0ba-428fdded85a3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.018048s] ... ok {0} ironic.tests.unit.api.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.040290s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/heartbeat/bf4e4aaa-0985-44ea-8e0f-e5a55709d521 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d442040-aeb7-4764-b30c-c2f1d3f5165a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node bf4e4aaa-0985-44ea-8e0f-e5a55709d521 could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.013666s] ... ok {0} ironic.tests.unit.api.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.024065s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/heartbeat/4269867f-a1b9-4bc5-b7c0-984871ba4fb5 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-717dceb7-8036-436f-9e42-ccd0e69f55d2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_local_link_connection [0.090421s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19ef88bd-e9fc-48c3-a02e-906b5e5e74d2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "aa:bb:cc:dd:ee:ff"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2017-10-31T14:11:26.252815+00:00", "updated_at": "2017-10-31T14:11:26.296099+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_multi [0.099622s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-157fa92c-4acd-480e-8a89-c5a3a94d9391 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:11:26.279376+00:00", "updated_at": "2017-10-31T14:11:26.284860+00:00", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.061808s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?node_uuid=0916d4ec-6394-4e53-a9ac-91a83d7f30c5 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'0916d4ec-6394-4e53-a9ac-91a83d7f30c5', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/0916d4ec-6394-4e53-a9ac-91a83d7f30c5', u'rel': u'self'}, {u'href': u'http://localhost/nodes/0916d4ec-6394-4e53-a9ac-91a83d7f30c5', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port [0.101171s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-aa21b3cf-0fd0-4747-b81a-298987892d76 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2000-01-01T00:00:00+00:00'} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_node_id [0.043550s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-218c4cbd-68e4-4339-992d-768cd774694d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_multi [0.087421s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9821d329-2988-426b-a95b-69ec94293648 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:11:26.334956+00:00", "updated_at": "2017-10-31T14:11:26.381420+00:00", "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_not_found [0.042310s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-00c4dd12-9ab9-4688-8fee-f67406b58c33 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_error [0.055696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fa5d7216-f6b6-425d-a415-94f75ed65fe9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_non_existent_node_uuid [0.053912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7316d893-cc27-4417-bf6b-5baf1ddd3285 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_nothing_provided [0.037493s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-06aeddfe-2cc7-48bf-91b7-b07ced96e35f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_non_existent_node_uuid [0.068208s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-33734f8d-578a-42cd-aaf3-f2fb30753c7d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.044529s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=c83ffeea-dfa8-4817-9e12-a64bc20f9270 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad680050-49fc-4f20-aef1-b259642df0aa X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.008377s] ... ok {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_replace_singular [0.065473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9c1ab85c-c839-487a-babb-31b283565b3a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:26.464618+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "aa:bb:cc:dd:ee:ff", "internal_info": {"bar": "buzz"}, "properties": {}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.011915s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_invalid_op [0.010197s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestJsonType.test_invalid_values [0.007877s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_generate_uuid [0.096487s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/0792cdac-654f-4447-820e-e7c95f941858 Openstack-Request-Id: req-c637910a-9766-47cc-aec4-b712bd625019 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "0792cdac-654f-4447-820e-e7c95f941858", "links": [{"href": "http://localhost/v1/ports/0792cdac-654f-4447-820e-e7c95f941858", "rel": "self"}, {"href": "http://localhost/ports/0792cdac-654f-4447-820e-e7c95f941858", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:26.500184+00:00"} GET: /v1/ports/0792cdac-654f-4447-820e-e7c95f941858 {} 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'0792cdac-654f-4447-820e-e7c95f941858', u'links': [{u'href': u'http://localhost/v1/ports/0792cdac-654f-4447-820e-e7c95f941858', u'rel': u'self'}, {u'href': u'http://localhost/ports/0792cdac-654f-4447-820e-e7c95f941858', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2017-10-31T14:11:26.500184+00:00'} {0} ironic.tests.unit.api.v1.test_types.TestJsonType.test_valid_values [0.008122s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.008654s] ... ok {0} ironic.tests.unit.api.v1.test_types.TestUuidType.test_invalid_uuid [0.007617s] ... ok {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_address_invalid_format [0.050740s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c354a1b4-0bbf-4a98-9087-2ecafc46ce32 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {0} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.009417s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_node_uuid_format [0.034869s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': 'invalid-format', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d18a4b7-8382-4cf1-9648-f26a1bf95eeb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\"}"} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_network_interface [0.008925s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_portgroups_subcontrollers [0.008299s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs [0.008797s] ... ok {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_byid_invalid_api_version [0.036006s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_abort_verbs_fail [0.010038s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_singular [0.139252s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71eea826-8d87-483f-b12b-f92e4f40c092 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:26.503705+00:00", "updated_at": "2017-10-31T14:11:26.586120+00:00", "address": "aa:bb:cc:dd:ee:ff"} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_none [0.010009s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs_fail [0.008311s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs [0.008750s] ... ok {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_internal_info_not_allowed [0.042185s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/internal_info', 'value': False, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-215fddba-441d-4635-9a12-9f05d25e04ad X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/internal_info' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_driver_fail [0.008949s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_keys [0.069861s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-00a63543-53fd-4cdb-bef6-a0794e618b62 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "value3", "port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:26.629055+00:00"} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_fields_fail [0.008719s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class [0.008008s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.007856s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.007415s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_no_mandatory_field_address [0.036029s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a999bd74-2405-4941-a243-9eabf0d54f3a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.007036s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_validate_limit [0.010195s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.007626s] ... ok {0} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.009733s] ... ok {3} ironic.tests.unit.api.v1.test_portgroups.TestPatch.test_update_portgroup_mode_properties [0.081219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae503372-5b3c-4266-ba17-96aedb428ae9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:26.666814+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "properties": {"bond_param": "100"}, "name": "fooname"} {0} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.011256s] ... ok {0} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_max_ver_str [0.008144s] ... ok {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_old_api_version [0.048687s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-06368a29-ffa8-435d-acd1-bf4133b6ab3b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_byid [0.137742s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb8d33a9-7b93-492d-8f95-9ce01543755f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:11:26.654420+00:00", "updated_at": "2017-10-31T14:11:26.717244+00:00", "address": "52:54:00:cf:2d:31"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_error [0.046487s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a8a0b6d0-ce1d-4778-ba90-4372612333c4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.044895s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c53bbc19-6ac9-4c83-ae90-1a783156e6dd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_byid [0.046420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-9ee354f7-b57c-4c39-8e38-3c67f8f9ae0c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_not_found [0.054934s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/a13433a0-c9d1-4089-8844-bd032ddd57fb [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fb47df58-a2c6-49a5-b3cb-85630cee1cf2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port a13433a0-c9d1-4089-8844-bd032ddd57fb could not be found.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_false [0.043652s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=False {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'connector_id': u'iqn.2012-06.com.example:initiator'}]} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_some_invalid_local_link_connection_key [0.047082s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_foo': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': 'value1'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-037a4f41-e74d-4fac-905e-72afcc3bcae9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"set(['switch_foo']) are invalid keys\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_v123 [0.078268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-66ada6bc-81bd-4028-996f-e76f43d77bbd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "address": "52:54:00:cf:2d:31", "internal_info": {}, "properties": {}, "name": "fooname"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'links': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'properties': {}, u'standalone_ports_supported': True, u'mode': u'active-backup', u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'ports': [{u'href': u'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'self'}, {u'href': u'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', u'rel': u'bookmark'}], u'name': u'fooname'} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_sepecified_by_path [0.032535s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cd9bf028-bf2a-40fc-93ae-07777dfb5310 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_create_portgroup_with_hyphens_delimiter [0.031734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52-54-00-cf-2d-31', 'name': 'fooname'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e97314ad-bb5a-4d7e-aad6-42cc3594df4a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_nopxe_noportgroup [0.061184s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': '1dd70dcb-50a2-4f2f-a7a8-647eb51f3ddc'}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-202248e4-1fcf-40c8-ace5-a4cff50c4e98 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "1dd70dcb-50a2-4f2f-a7a8-647eb51f3ddc"}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:26.877899+00:00"} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_port_address_normalized [0.092628s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-329ba5a3-8390-4353-a514-413819d61c30 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:26.834451+00:00", "updated_at": "2017-10-31T14:11:26.877753+00:00", "address": "aa:bb:cc:dd:ee:ff"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.043679s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11cec4bc-8d50-4b7a-8d9f-d6046a701598 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {3} ironic.tests.unit.api.v1.test_portgroups.TestPost.test_node_uuid_to_node_id_mapping [0.056244s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/portgroups {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'extra': {}, 'standalone_ports_supported': True, 'address': '52:54:00:cf:2d:31', 'name': 'fooname'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-e7e5b7e0-09eb-4577-9a13-975d8ec20bf2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:26.924516+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.v1.test_ports.TestPost.test_create_port_vif_nopxe_portgroup_nostandalone_ports [0.054453s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': '58e205c6-ccd6-487e-8547-fa5b82abd462'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-682424c1-025b-47b0-ab7c-091a21766688 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_one [0.046292s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:26.919633+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_one_invalid_api_version [0.024446s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_pxe_enabled_allowed [0.095822s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5c08bd7-5714-473f-ba70-814263f20f40 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "created_at": "2017-10-31T14:11:26.927600+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_detail [0.055756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch', u'port_id': u'Gig0/1', u'switch_id': u'aa:bb:cc:dd:ee:ff'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': False, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:26.965636+00:00'}]} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_pxe_noportgroup [0.069615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': '52fef21e-0d43-4419-9c9b-ff944a983203'}, 'pxe_enabled': True, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-095dc3d8-4a0b-4f4d-9f10-651b8d001a20 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "52fef21e-0d43-4419-9c9b-ff944a983203"}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:27.005453+00:00"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_addr_format [0.047243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'invalid-format'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-886cdeb0-a02a-4c9a-b64b-513fade06a52 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_links [0.081607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'82e13689-2046-495f-b0e0-6bae8385db36', u'links': [{u'href': u'http://localhost/v1/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:26.992440+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /v1/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'82e13689-2046-495f-b0e0-6bae8385db36', u'links': [{u'href': u'http://localhost/v1/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:26.992440+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} GET: /volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'82e13689-2046-495f-b0e0-6bae8385db36', u'links': [{u'href': u'http://localhost/v1/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/82e13689-2046-495f-b0e0-6bae8385db36', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:26.992440+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {2} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.053019s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': '4bbf583e-58b1-46c2-b066-3a4914378a25'}, '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-22b87788-0538-4ef2-b281-8d72257281b3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_node_name_ok [0.078105s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?node=test-node {} GOT:{u'ports': [{u'uuid': u'90d7b8d7-3593-4cdd-813b-fa32ff17d05f', u'links': [{u'href': u'http://localhost/v1/ports/90d7b8d7-3593-4cdd-813b-fa32ff17d05f', u'rel': u'self'}, {u'href': u'http://localhost/ports/90d7b8d7-3593-4cdd-813b-fa32ff17d05f', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'3084c72e-8e21-4795-a7f2-5b67b4eed0ef', u'links': [{u'href': u'http://localhost/v1/ports/3084c72e-8e21-4795-a7f2-5b67b4eed0ef', u'rel': u'self'}, {u'href': u'http://localhost/ports/3084c72e-8e21-4795-a7f2-5b67b4eed0ef', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'a64fe64b-47db-499c-b3b9-8971ae8f8742', u'links': [{u'href': u'http://localhost/v1/ports/a64fe64b-47db-499c-b3b9-8971ae8f8742', u'rel': u'self'}, {u'href': u'http://localhost/ports/a64fe64b-47db-499c-b3b9-8971ae8f8742', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}]} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_one [0.043057s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'connector_id': u'iqn.2012-06.com.example:initiator'}]} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_physnet_non_text [0.072028s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 1234, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e3a94f4d-3efb-4633-a3e3-72703c677a76 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {2} ironic.tests.unit.api.v1.test_ramdisk.TestHeartbeat.test_ok [0.041138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-6eb57a37-cb61-41ad-9f34-b470b31c9772 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_node_uuid_and_name [0.050479s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{u'ports': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.096468+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'}]} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_sort_key_invalid [0.040568s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d12aa22-d3fe-49c2-883a-e546e307b810 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/connectors?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-661177f1-c984-40dd-bce3-bdb3e2ae08b5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_invalid_physnet_too_long [0.063890s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88c93adb-c05e-45a3-ae3d-ba2e8ba29020 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\"}"} {2} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.059215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=not-a-valid-address,80:00:02:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:54:06:c2,11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'58da62c2-fb5d-444f-982e-ff307a433ac1', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/58da62c2-fb5d-444f-982e-ff307a433ac1', u'rel': u'self'}, {u'href': u'http://localhost/nodes/58da62c2-fb5d-444f-982e-ff307a433ac1', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_all_by_portgroup_uuid [0.056262s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{u'ports': [{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:27.150961+00:00'}]} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_node_uuid [0.058830s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3cbaae24-9d2b-4433-84bb-6f992f86b745 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:27.157948+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.034984s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0fd09c23-125e-4cdc-b37c-dbd0f452d47d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_old_api_version [0.039750s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1681ffc2-f01e-4bc5-b3ad-59fdc7e41b7c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_ok [0.010601s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_mandatory_field [0.041210s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/value', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e11cf239-42ea-4290-b32e-8537c9a53b23 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/value', 'op': 'remove'}]'. Reason: can't remove non-existent object 'value'\"}"} {2} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_too_low [0.013467s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_invalid_path [0.015275s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_get_one_portgroup_is_none [0.052678s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:27.245130+00:00'} {2} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.014304s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_missing_optional [0.110567s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1bd9b208-4bc6-4734-82dd-b8b725b63a4f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"port_id": "Ethernet1/15", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:27.266952+00:00"} {2} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_valid_patches [0.016279s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestJsonType.test_apimultitype_tostring [0.010612s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestListType.test_list_type [0.011911s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_multi [0.093055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06027cff-8ef1-4121-8b9f-9006c77ea1d9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:27.259100+00:00", "updated_at": "2017-10-31T14:11:27.263266+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08ea2dea-8378-45ea-ba97-c1e9554cbdf4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:27.259100+00:00", "updated_at": "2017-10-31T14:11:27.263266+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {2} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.010428s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.073331s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:27.296302+00:00'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'physical_network': u'physnet1', u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:27.296302+00:00'} {2} ironic.tests.unit.api.v1.test_types.TestNameType.test_invalid_name [0.010667s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.076917s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'value3', 'port_id': 'Ethernet1/15', 'switch_id': 'zz:zz:zz:zz:zz:zz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-941515d2-e3b7-4352-9ee3-c40e5d252417 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\"}"} {2} ironic.tests.unit.api.v1.test_types.TestNameType.test_valid_name [0.013997s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_node_id [0.039341s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7bcc1caa-7616-4b56-bb52-fb6bab4d8ffc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.054512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': None, u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:27.372525+00:00'} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_uuid [0.033096s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9fe54a2c-94cf-45c8-b0ab-4516b107bdfd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_no_mandatory_field_node_uuid [0.062264s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbb8212e-d418-4b9b-a567-81e20412c3c0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_node_uuid [0.056342s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7fb2741b-1833-497b-8b39-5e4ec3611007 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:27.426208+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.072078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'created_at': u'2017-10-31T14:11:27.426603+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {u'bar': u'buzz'}, u'created_at': u'2017-10-31T14:11:27.426603+00:00'} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_node_uuid_invalid_type [0.033824s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bba6af9c-bcb6-46f1-a179-2003db66e714 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.107305s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6d1d1a24-97ab-4db8-9306-66fa63a020f0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:27.518726+00:00"} {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_links [0.083679s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'links': [{u'href': u'http://localhost/v1/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'rel': u'self'}, {u'href': u'http://localhost/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.495392+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /v1/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'links': [{u'href': u'http://localhost/v1/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'rel': u'self'}, {u'href': u'http://localhost/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.495392+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} GET: /ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'links': [{u'href': u'http://localhost/v1/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'rel': u'self'}, {u'href': u'http://localhost/ports/8e7daa93-6490-4528-bbb8-c7a656d43f1d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.495392+00:00', u'updated_at': None, u'address': u'52:54:00:cf:2d:31'} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_update_byid [0.061786s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c1064314-2d6c-4ba2-b055-57c926d638fc X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:11:27.520522+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {2} ironic.tests.unit.api.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.211061s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestUuidOrNameType.test_valid_name [0.010736s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.010240s] ... ok {2} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type_optional_key [0.008799s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.089225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-83ae070d-3abb-4c42-bb80-0a16f0946567 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:27.609291+00:00"} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_links_node_states_and_driver_properties [0.010993s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_generate_uuid [0.070306s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8 Openstack-Request-Id: req-bb98ae42-14bf-4b15-a0f1-cc5ae4dae319 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8", "links": [{"href": "http://localhost/v1/volume/connectors/82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8", "rel": "self"}, {"href": "http://localhost/volume/connectors/82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:27.600516+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8', u'links': [{u'href': u'http://localhost/v1/volume/connectors/82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/82a78c14-0a5a-4b81-a1c0-aa11e3ffc0c8', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.600516+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_physical_network_pin [0.011635s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_volume [0.010091s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_many [0.100818s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports {} GOT:{u'ports': [{u'uuid': u'b6b6c47d-ec5e-437d-8b7f-d85b5281addc', u'links': [{u'href': u'http://localhost/v1/ports/b6b6c47d-ec5e-437d-8b7f-d85b5281addc', u'rel': u'self'}, {u'href': u'http://localhost/ports/b6b6c47d-ec5e-437d-8b7f-d85b5281addc', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:30'}, {u'uuid': u'b2f32c09-a1f3-4677-b673-c38c5ff72ae9', u'links': [{u'href': u'http://localhost/v1/ports/b2f32c09-a1f3-4677-b673-c38c5ff72ae9', u'rel': u'self'}, {u'href': u'http://localhost/ports/b2f32c09-a1f3-4677-b673-c38c5ff72ae9', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:31'}, {u'uuid': u'fcf18095-dfef-47f5-9a8d-47051a94b3ea', u'links': [{u'href': u'http://localhost/v1/ports/fcf18095-dfef-47f5-9a8d-47051a94b3ea', u'rel': u'self'}, {u'href': u'http://localhost/ports/fcf18095-dfef-47f5-9a8d-47051a94b3ea', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:32'}, {u'uuid': u'ce86f5b0-c8d1-4f2a-812f-9d8c135ae644', u'links': [{u'href': u'http://localhost/v1/ports/ce86f5b0-c8d1-4f2a-812f-9d8c135ae644', u'rel': u'self'}, {u'href': u'http://localhost/ports/ce86f5b0-c8d1-4f2a-812f-9d8c135ae644', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:33'}, {u'uuid': u'048ab6e6-c959-425a-be08-b6eda1fb093e', u'links': [{u'href': u'http://localhost/v1/ports/048ab6e6-c959-425a-be08-b6eda1fb093e', u'rel': u'self'}, {u'href': u'http://localhost/ports/048ab6e6-c959-425a-be08-b6eda1fb093e', u'rel': u'bookmark'}], u'address': u'52:54:00:cf:2d:34'}]} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.031126s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': 123, 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2121a4aa-b248-443f-ac7c-65679876b644 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs_fail [0.010653s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_fail [0.010946s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type_none [0.010587s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.028994s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2b45db0f-b3f1-4d82-a726-d8e349f3f6ca X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_cannot_send_create_port [0.074283s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-69fe4509-2088-4197-9c7a-2b0d0da0c3f4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_driver [0.010310s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_fields [0.011527s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_port_by_address [0.062323s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{u'ports': [{u'uuid': u'1409108d-b645-460b-b02f-3fee4f929b5e', u'links': [{u'href': u'http://localhost/v1/ports/1409108d-b645-460b-b02f-3fee4f929b5e', u'rel': u'self'}, {u'href': u'http://localhost/ports/1409108d-b645-460b-b02f-3fee4f929b5e', u'rel': u'bookmark'}], u'address': u'aa:bb:cc:dd:ee:f1'}]} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface_fail [0.010514s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_node_uuid_not_found [0.038544s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ee3ff88-dbce-428b-bd85-a391824a018c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties [0.011122s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.008990s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_port_by_address_invalid_address_format [0.039641s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ed9a05e-02b0-4b1f-bf2d-ad1770a8026d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'invalid-mac-format'. unable to convert to macaddress. Error: Expected a MAC address but received invalid-mac-format.\"}"} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.009145s] ... ok {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup_uuid_not_found [0.068809s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e5a64824-869a-45bc-a8f1-5d3f0111840f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.010187s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.011196s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_portgroups_subresource_invalid_ident [0.035027s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "400 Bad Request\n\nThe server could not comply with the request since it is either malformed or otherwise incorrect.\n\n Expected a logical name or UUID but received 123 123. "} {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.010903s] ... ok {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_type_value_already_exist [0.072764s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'test-connector-id-456'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-70e9799b-9622-4217-89ed-1f058e9d1f4b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:27.773345+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': '3a792dcd-3e48-4ede-8275-3eb9e5e6ead2', 'connector_id': 'test-connector-id-456'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a560c7e2-9107-4025-b0a8-7af672f6c420 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\"}"} {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.013267s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.011378s] ... ok {2} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.011712s] ... ok {2} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_min_ver_str [0.009654s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestListPorts.test_sort_key_invalid [0.065583s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f304de0b-355e-4fbf-af3a-7e8e256d5de8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-207eefcf-51bb-42bc-9191-9973a4181367 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d42bdcdc-18da-4028-9ae0-becea790ff07 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\"}"} GET: /v1/ports?sort_key=local_link_connection {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-131b3b11-bd9d-48da-ad78-607474833189 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\"}"} {0} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_valid_extra [0.066127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c76d2e28-0345-43b2-a614-e2d3aef65c7e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:11:27.840775+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:11:27.840775+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.029308s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_valid_extra [0.126815s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-20aa28de-e511-412c-871c-7985cf3b3c7b X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:27.843011+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'52:54:00:cf:2d:31', u'internal_info': {}, u'created_at': u'2017-10-31T14:11:27.843011+00:00'} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_multi [0.068992s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df7ad251-115d-4684-8e7f-ceec4a0f88d4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:27.889479+00:00", "updated_at": "2017-10-31T14:11:27.922999+00:00", "address": "52:54:00:cf:2d:31"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_collection_links [0.066247s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/?limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'9abb5f9a-967f-4171-92ba-a2fcd1afe92e', u'links': [{u'href': u'http://localhost/v1/volume/targets/9abb5f9a-967f-4171-92ba-a2fcd1afe92e', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/9abb5f9a-967f-4171-92ba-a2fcd1afe92e', 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'b6d99398-7f55-4fff-8503-7e7fd6154158', u'links': [{u'href': u'http://localhost/v1/volume/targets/b6d99398-7f55-4fff-8503-7e7fd6154158', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/b6d99398-7f55-4fff-8503-7e7fd6154158', 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'722c29aa-cb10-4e39-b24c-aba42cd17f66', u'links': [{u'href': u'http://localhost/v1/volume/targets/722c29aa-cb10-4e39-b24c-aba42cd17f66', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/722c29aa-cb10-4e39-b24c-aba42cd17f66', 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=722c29aa-cb10-4e39-b24c-aba42cd17f66'} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_invalid_power_state [0.060271s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5f6eb56f-334b-4231-9696-a169389bd1c2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_extra_vif_port_id_deprecated [0.081448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'foo'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-99c146e1-6201-4d92-acf7-d7487c1b7f78 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "foo"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:27.965481+00:00"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_collection_links_detail [0.065099s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'7aa13aa2-a2b5-477a-be74-d93b87d88320', u'links': [{u'href': u'http://localhost/v1/volume/targets/7aa13aa2-a2b5-477a-be74-d93b87d88320', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/7aa13aa2-a2b5-477a-be74-d93b87d88320', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.957523+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'801704bd-bfa7-41e7-b9d4-8b787ee9c92e', u'links': [{u'href': u'http://localhost/v1/volume/targets/801704bd-bfa7-41e7-b9d4-8b787ee9c92e', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/801704bd-bfa7-41e7-b9d4-8b787ee9c92e', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.959598+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'204d545d-ef72-4b8c-8921-30ff8e6db9da', u'links': [{u'href': u'http://localhost/v1/volume/targets/204d545d-ef72-4b8c-8921-30ff8e6db9da', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/204d545d-ef72-4b8c-8921-30ff8e6db9da', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:27.961781+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=204d545d-ef72-4b8c-8921-30ff8e6db9da'} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestDelete.test_delete_volume_connector_node_locked [0.057836s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-22ce1a95-dbe6-49d3-94e1-01d0bfa166e8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_physical_network [0.073572s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-86f0d17a-4c13-43e7-ab5d-b43466c70c61 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2017-10-31T14:11:27.992547+00:00", "physical_network": "physnet1", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:11:27.959457+00:00"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_llc_old_api_version [0.053667s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'port_id': 'Ethernet1/15', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-638f85e0-80e6-4367-b283-41239b991a68 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_physical_network_old_api_version [0.041610s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-19245699-2a6d-413b-86f2-2918458d62c2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_by_node_name_ok [0.051237s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True&node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:28.026304+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_physical_network_old_api_version [0.053775s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7f943ba1-d7bf-436a-8acf-a73632724a28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_collection_links [0.079369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/?limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'd17f110f-7471-4891-a1af-64084e86b4f2', u'links': [{u'href': u'http://localhost/v1/volume/connectors/d17f110f-7471-4891-a1af-64084e86b4f2', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/d17f110f-7471-4891-a1af-64084e86b4f2', 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'5b893d00-1dcd-44e6-9e81-73f080e0d053', u'links': [{u'href': u'http://localhost/v1/volume/connectors/5b893d00-1dcd-44e6-9e81-73f080e0d053', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5b893d00-1dcd-44e6-9e81-73f080e0d053', 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'd73fdd84-aef5-439c-9be4-f990a6b9f8c6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/d73fdd84-aef5-439c-9be4-f990a6b9f8c6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/d73fdd84-aef5-439c-9be4-f990a6b9f8c6', 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=d73fdd84-aef5-439c-9be4-f990a6b9f8c6'} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_add_portgroup_uuid [0.080246s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '8c76c73a-8de8-4ad9-ab87-ab8cc7d179e0', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0ff67671-a9dd-4c72-a6b0-2711d08dc5e0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "8c76c73a-8de8-4ad9-ab87-ab8cc7d179e0", "updated_at": "2017-10-31T14:11:28.117573+00:00", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:11:28.073915+00:00"} {1} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.047562s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4e6e5a01-c517-4331-9f87-5fc7c6a6b8e9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_many [0.083538s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'b87936ce-496c-442e-84d2-307823f15729', u'links': [{u'href': u'http://localhost/v1/volume/targets/b87936ce-496c-442e-84d2-307823f15729', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/b87936ce-496c-442e-84d2-307823f15729', 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'b51dd914-4c54-4a9b-9893-0c2cbf23d4e9', u'links': [{u'href': u'http://localhost/v1/volume/targets/b51dd914-4c54-4a9b-9893-0c2cbf23d4e9', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/b51dd914-4c54-4a9b-9893-0c2cbf23d4e9', 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'bec0dd6a-57d5-4b45-af07-56057b6e4e63', u'links': [{u'href': u'http://localhost/v1/volume/targets/bec0dd6a-57d5-4b45-af07-56057b6e4e63', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/bec0dd6a-57d5-4b45-af07-56057b6e4e63', 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'20b6be23-c997-4881-85f0-169933d10515', u'links': [{u'href': u'http://localhost/v1/volume/targets/20b6be23-c997-4881-85f0-169933d10515', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/20b6be23-c997-4881-85f0-169933d10515', 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'0d9d3db6-954b-47b1-90e6-983b8bb410da', u'links': [{u'href': u'http://localhost/v1/volume/targets/0d9d3db6-954b-47b1-90e6-983b8bb410da', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/0d9d3db6-954b-47b1-90e6-983b8bb410da', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_collection_links_default_limit [0.075374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'feea8ba1-d27e-4aa2-8939-80d7d2e1edb6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/feea8ba1-d27e-4aa2-8939-80d7d2e1edb6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/feea8ba1-d27e-4aa2-8939-80d7d2e1edb6', 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'a00a27ab-3454-46e6-8410-83450348b3cf', u'links': [{u'href': u'http://localhost/v1/volume/connectors/a00a27ab-3454-46e6-8410-83450348b3cf', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/a00a27ab-3454-46e6-8410-83450348b3cf', 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'2ee7a3b8-9fe4-4952-9e17-ff46444b50de', u'links': [{u'href': u'http://localhost/v1/volume/connectors/2ee7a3b8-9fe4-4952-9e17-ff46444b50de', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/2ee7a3b8-9fe4-4952-9e17-ff46444b50de', 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=2ee7a3b8-9fe4-4952-9e17-ff46444b50de'} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_invalid_physnet_non_text [0.044321s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2aa86f3-dd82-457b-950a-ff9ba54b6028 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_one [0.042970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {1} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.072779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'39580eb9-c096-4d6f-a920-32cc4add8b84', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/39580eb9-c096-4d6f-a920-32cc4add8b84', u'rel': u'self'}, {u'href': u'http://localhost/nodes/39580eb9-c096-4d6f-a920-32cc4add8b84', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_local_link_connection_old_api [0.038633s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b589895e-b38f-435d-9a9b-64fcac0b6176 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail [0.047772s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:28.190733+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_multi [0.059539s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecac462d-f111-47b1-b119-8824beb6e3fe X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:28.202241+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_remove_node_id [0.041215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e35a67a4-6c8b-4271-b5a7-81f759a52a2a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_by_node_name_ok [0.048973s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True&node=test-node {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:28.241373+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'}]} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_mandatory_field [0.033672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ac6c43e-b8d7-4dde-9f63-147dc664fb12 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/boot_index' is a mandatory attribute and can not be removed\"}"} {1} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.071803s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=40834f4a-14b8-4a59-a443-aba74e1ed2f3 {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'40834f4a-14b8-4a59-a443-aba74e1ed2f3', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/40834f4a-14b8-4a59-a443-aba74e1ed2f3', u'rel': u'self'}, {u'href': u'http://localhost/nodes/40834f4a-14b8-4a59-a443-aba74e1ed2f3', u'rel': u'bookmark'}], u'properties': {u'memory_mb': u'4096', u'cpu_arch': u'x86_64', u'local_gb': u'10', u'cpus': u'8'}}, u'config': {u'metrics': {u'prepend_host': False, u'prepend_uuid': False, u'backend': u'statsd', u'prepend_host_reverse': True, u'global_prefix': None}, u'heartbeat_timeout': 300, u'metrics_statsd': {u'statsd_port': 8125, u'statsd_host': u'localhost'}}} {1} ironic.tests.unit.api.v1.test_root.TestCheckVersions.test_check_version_too_high [0.010642s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestBooleanType.test_valid_true_values [0.009582s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.013062s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_non_existent_node_uuid [0.049405s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3d31442c-5170-4fe5-b957-ee2de43af8f0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.016226s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_collection_custom_fields [0.074095s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{u'connectors': [{u'uuid': u'bbe4adeb-7877-47aa-bea7-d0554bd1a7b1', u'links': [{u'href': u'http://localhost/v1/volume/connectors/bbe4adeb-7877-47aa-bea7-d0554bd1a7b1', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/bbe4adeb-7877-47aa-bea7-d0554bd1a7b1', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'ab928c98-7231-45ce-9a15-ef1fb6d233d7', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ab928c98-7231-45ce-9a15-ef1fb6d233d7', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ab928c98-7231-45ce-9a15-ef1fb6d233d7', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'f67167c1-25ed-4441-8366-6fa8cfc4654e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/f67167c1-25ed-4441-8366-6fa8cfc4654e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/f67167c1-25ed-4441-8366-6fa8cfc4654e', u'rel': u'bookmark'}], u'extra': {}}]} {1} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.014417s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.009237s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_physical_network [0.109079s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-94e0a7a5-737c-41d0-9353-92c9217ed359 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": "2017-10-31T14:11:28.340954+00:00", "physical_network": "physnet2", "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:11:28.284695+00:00"} {1} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_mandatory_key [0.014173s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.010210s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestUuidType.test_valid_uuid [0.009536s] ... ok {1} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type [0.009505s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_multi [0.064560s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e92b0ac-b23d-4f42-a39b-f24aa8a7c856 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:28.367600+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {1} ironic.tests.unit.api.v1.test_types.TestVifType.test_vif_type_bad_id [0.012560s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_physical_network_old_api_version [0.057285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9e82c0d1-fe84-4ad0-8690-1ed453755fc2 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_internal_info [0.012448s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs [0.011048s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_node_id [0.041364s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aaba455d-9d77-409a-91c9-ed7f05d192ed X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_adopt_verbs_fail [0.012428s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail [0.012463s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid_old_api [0.051288s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '6c12d975-a6a2-4eb6-8a00-46198183e637', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-be23f774-997d-4f6e-aac1-5525e6666851 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_fail [0.011223s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs [0.010429s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_node_uuid_invalid_type [0.037740s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-05c46c28-a2b6-4314-a55d-3429796b53fd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_manage_verbs [0.011859s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_provide_verbs_fail [0.010780s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class_fail [0.010475s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_network_interface [0.010599s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_fields_resource_class_fail [0.010205s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_connector_id_already_exist [0.057407s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ecd44518-70fb-45b3-8825-3bb53bd5dd5c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_replace_portgroup_uuid_remove [0.082258s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '92223690-0fe1-48c4-8fd4-f7db02601237', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-888d2159-e082-48b8-a404-fb33c2d7c53d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "address": "52:54:00:cf:2d:31", "internal_info": {"bar": "buzz"}, "created_at": "2017-10-31T14:11:28.503794+00:00"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allowed_portgroup_fields_mode_properties_fail [0.018536s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.009419s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_update_byid [0.252427s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7859febd-a0db-4478-9c94-e2992677db0c X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": "bar"}, "created_at": "2017-10-31T14:11:28.357535+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.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.013079s] ... ok {2} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_update_not_found [0.041111s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/436883e3-e5f5-4565-8120-4cf5fc8ff4d9 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d5c1a7f-28ab-41e5-9584-2f189e0d6839 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume connector 436883e3-e5f5-4565-8120-4cf5fc8ff4d9 could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.012530s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPatch.test_update_address_invalid_format [0.049683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3fe02d7-e6af-4292-b169-ebd839b2470d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.011413s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_update_not_found [0.040678s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/31399358-03b3-4569-8f51-aaa5692cb07f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2855feb9-ff0d-42aa-a394-ba819cd276eb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Volume target 31399358-03b3-4569-8f51-aaa5692cb07f could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.016747s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.012891s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.011254s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.017404s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_invalid_power_state [0.054640s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93e3dd8c-10a4-47b6-80f7-2c74fe89113e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.012916s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.011399s] ... ok {1} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.010297s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_invalid_api_version [0.029519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.011674s] ... ok {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target [0.076971s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a68e578f-193f-455f-ae45-158ffe3f4e99 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {1} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_duplicates [0.014712s] ... ok {1} ironic.tests.unit.api.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.023561s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cbb22e4b-37b4-44e7-b4a3-ade3249c2293 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_address_normalized [0.107652s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': 'AA:BB:CC:DD:EE:FF'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5d0fdecf-6278-4a4f-83d4-d561a9e93713 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "aa:bb:cc:dd:ee:ff", "internal_info": {}, "created_at": "2017-10-31T14:11:28.714562+00:00"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'local_link_connection': {u'switch_info': u'switch1', u'port_id': u'Ethernet3/1', u'switch_id': u'0a:1b:2c:3d:4e:5f'}, u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'pxe_enabled': True, u'portgroup_uuid': u'6eb02b44-18a3-4659-8c0b-8d2802581ae4', u'updated_at': None, u'physical_network': None, u'address': u'aa:bb:cc:dd:ee:ff', u'internal_info': {}, u'created_at': u'2017-10-31T14:11:28.714562+00:00'} {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_collection_custom_fields [0.070680s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?fields=uuid,extra {} GOT:{u'targets': [{u'uuid': u'c8f0f807-ca09-461f-9093-8de85245b95f', u'links': [{u'href': u'http://localhost/v1/volume/targets/c8f0f807-ca09-461f-9093-8de85245b95f', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c8f0f807-ca09-461f-9093-8de85245b95f', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'2ac1ec19-a594-4e5b-bb49-c5a561e4ce5b', u'links': [{u'href': u'http://localhost/v1/volume/targets/2ac1ec19-a594-4e5b-bb49-c5a561e4ce5b', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/2ac1ec19-a594-4e5b-bb49-c5a561e4ce5b', u'rel': u'bookmark'}], u'extra': {}}, {u'uuid': u'd42b9875-a81f-41c2-90a1-31ea01650cbd', u'links': [{u'href': u'http://localhost/v1/volume/targets/d42b9875-a81f-41c2-90a1-31ea01650cbd', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/d42b9875-a81f-41c2-90a1-31ea01650cbd', u'rel': u'bookmark'}], u'extra': {}}]} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_against_single [0.037795s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fc6bb431-0ba0-4223-9ad9-c65eb13ac7fb X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_generate_uuid [0.078567s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/c7fa4065-0c75-4ace-8fc7-fdbf027652b5 Openstack-Request-Id: req-303f2e63-2d58-4658-a4f7-7062c8f3a789 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "c7fa4065-0c75-4ace-8fc7-fdbf027652b5", "links": [{"href": "http://localhost/v1/volume/targets/c7fa4065-0c75-4ace-8fc7-fdbf027652b5", "rel": "self"}, {"href": "http://localhost/volume/targets/c7fa4065-0c75-4ace-8fc7-fdbf027652b5", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:28.744739+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/c7fa4065-0c75-4ace-8fc7-fdbf027652b5 {} GOT:{u'boot_index': 0, u'uuid': u'c7fa4065-0c75-4ace-8fc7-fdbf027652b5', u'links': [{u'href': u'http://localhost/v1/volume/targets/c7fa4065-0c75-4ace-8fc7-fdbf027652b5', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c7fa4065-0c75-4ace-8fc7-fdbf027652b5', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:28.744739+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.v1.test_volume_targets.TestPost.test_create_volume_target_invalid_api_version [0.022448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_invalid_api_version [0.038025s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_one [0.053098s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:28.786014+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_cannot_send_create_port [0.074187s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': None, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1d49eee2-8a50-4158-be08-979607178f36 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:28.815961+00:00"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_node_uuid_not_found [0.039098s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-764c374c-27cd-4baa-a998-48329b3a26b0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\"}"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.033897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {2} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_one_custom_fields [0.048061s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} GOT:{u'boot_index': 0, u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_one_invalid_api_version [0.031366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_local_link_connection_missing_mandatory [0.052279s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'fooswitch', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e31522d7-6e97-40c2-a044-b0cd142002f7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: set(['port_id'])\"}"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_root_non_existent [0.041078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-41022535-4502-468d-81d7-8780aae1b537 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {0} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_valid_extra [0.070277s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'none': None, 'int': 123, 'float': 0.1, 'list': [1, 2], 'bool': True, 'str': 'foo', 'dict': {'cat': 'meow'}}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f14fdd82-d1e7-4121-b8c7-bf811cec61a7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"none": null, "int": 123, "float": 0.1, "list": [1, 2], "dict": {"cat": "meow"}, "str": "foo", "bool": true}, "created_at": "2017-10-31T14:11:28.879956+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'none': None, u'int': 123, u'float': 0.1, u'list': [1, 2], u'bool': True, u'str': u'foo', u'dict': {u'cat': u'meow'}}, u'created_at': u'2017-10-31T14:11:28.879956+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.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.021951s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_min_api_version [0.065643s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-fae3a48a-85b7-4659-8024-1459102269a6 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:28.937958+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_multi [0.083215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2776bef5-95c2-4ee4-8cf8-5c7c029225d0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:11:28.902037+00:00", "updated_at": "2017-10-31T14:11:28.910022+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_on_missing_default_boot_option [0.025080s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.013348s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. Data migrations have completed. {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_node_id [0.045978s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9178797f-6789-46ed-bbab-4edca469e568 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_multi [0.110574s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b9bf4f2-2afb-40e9-a5c4-27797b29edd0 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo2": "bar2", "foo3": "bar3"}, "created_at": "2017-10-31T14:11:28.934393+00:00", "updated_at": "2017-10-31T14:11:28.939464+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-4c3ab094-5898-459c-879b-74455f2e71f8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:28.934393+00:00", "updated_at": "2017-10-31T14:11:28.939464+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_nopxe_noportgroup [0.073088s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-bbfa218b-4896-4984-bf01-837989ef43a9 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": false, "portgroup_uuid": null, "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:29.009369+00:00"} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.076243s] ... ok {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_non_existent_node_uuid [0.055543s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b097a8b5-d316-42e6-8954-537fd78f4c84 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\"}"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_node_id [0.042787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea3cc50f-b049-43ed-a046-cc4ef67a5a75 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'op': 'remove'}]'. Reason: can't remove non-existent object 'node_id'\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.059601s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1b7d3e67-35e4-46d4-9205-5b643eca3ed1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\"}"} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.071653s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_invalid_power_state [0.058621s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9998e4c7-269d-41dc-a8a7-2db72b32d269 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_doesnt_contain_id [0.082215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {'foo': 123}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8e230ae5-789c-4868-884b-c6f2a5c4f52d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:11:29.107059+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:11:29.107059+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_portgroup [0.075027s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-03789b70-e916-41da-af94-5dacf3ec82ef X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:29.142629+00:00"} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_invalid_api_version [0.031078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.072554s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_multi [0.071400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e31b60a4-f158-4b23-82e8-4741686f8f21 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "created_at": "2017-10-31T14:11:29.148511+00:00", "updated_at": "2017-10-31T14:11:29.153347+00:00", "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {1} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.039849s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9bae8d1-5033-40e5-bf81-9b01068863f8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_id. Value: 'None'. Mandatory field missing.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.080923s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'b590aecf-d151-4a58-a9ef-44db36d849b7'}, 'pxe_enabled': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f3f24c8c-858f-424d-80f0-32fbac7e8152 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "b590aecf-d151-4a58-a9ef-44db36d849b7"}, "pxe_enabled": false, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:29.225544+00:00"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_node_id [0.047619s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-af7288f5-c9f5-45b3-9389-d71fb75fb603 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/node_id', 'value': u'1', 'op': 'replace'}]'. Reason: can't replace non-existent object 'node_id'\"}"} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.074805s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_singular [0.066440s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b848330b-ddd4-4f8f-930f-9b8dc70f1c28 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:29.270115+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.082112s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'vif_port_id': 'd393aea7-d0f2-41e2-bc7c-fb3cb0aac9d0'}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2a11e45c-2beb-424a-843a-7220576108f5 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"vif_port_id": "d393aea7-d0f2-41e2-bc7c-fb3cb0aac9d0"}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:29.306243+00:00"} {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.078768s] ... ok {2} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_no_mandatory_field_value [0.035170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b5c87d54-7faa-4244-a3f1-aa6ae6b7ddcd X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute boot_index. Value: 'None'. Mandatory field missing.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_hyphens_delimiter [0.039406s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52-54-00-cf-2d-31'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef25304f-d910-4e6d-a1e8-cdd0c6d48091 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\"}"} {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_internal_field [0.035330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80c3b21a-030a-4492-afa1-f91a879a5ae1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute internal_info. Value: '{u'a': u'b'}'. Cannot set read only field.\"}"} {2} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_node_uuid_to_node_id_mapping [0.059166s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8115157b-b5b3-4388-9bba-ccdc4cabf779 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:29.396192+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {2} ironic.tests.unit.api.v1.test_volume_targets.TestVolumeTargetObject.test_volume_target_init [0.010065s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.075072s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.021665s] ... ok {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.027559s] ... ok {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_create_port_with_physical_network_upgrade [0.054320s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': 'physnet1', 'address': '52:54:00:cf:2d:31'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e9e4db1e-c292-4448-8915-ca060b1b0bba X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\"}"} {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.010962s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.017497s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 15 objects. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.016665s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.020362s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_not_allowed_interfaces_set [0.058122s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_byid [0.315519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-18c254bd-1476-4895-9d2f-e29c82544acf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.016115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. {3} ironic.tests.unit.api.v1.test_ports.TestPost.test_node_uuid_to_node_id_mapping [0.086450s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/ports {'local_link_connection': {'switch_info': 'switch1', 'port_id': 'Ethernet3/1', 'switch_id': '0a:1b:2c:3d:4e:5f'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'pxe_enabled': True, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'physical_network': None, 'address': '52:54:00:cf:2d:31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-18b77ed9-b9c9-4143-9152-f9c1b7f02d26 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"local_link_connection": {"switch_info": "switch1", "port_id": "Ethernet3/1", "switch_id": "0a:1b:2c:3d:4e:5f"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "pxe_enabled": true, "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "updated_at": null, "physical_network": null, "address": "52:54:00:cf:2d:31", "internal_info": {}, "created_at": "2017-10-31T14:11:29.518434+00:00"} {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.017515s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ "max-count" must be a positive value. {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.015324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Data migrations have not completed. Please re-run. {1} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.036527s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.063798s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=cd7f4ccd-9af2-4f41-8c6b-ee18e019460b {} GOT:{u'node': {u'instance_info': {u'foo': u'bar', u'image_url': u'******', u'configdrive': u'******'}, u'uuid': u'cd7f4ccd-9af2-4f41-8c6b-ee18e019460b', u'driver_internal_info': {u'private_state': u'secret value'}, u'links': [{u'href': u'http://localhost/v1/nodes/cd7f4ccd-9af2-4f41-8c6b-ee18e019460b', u'rel': u'self'}, {u'href': u'http://localhost/nodes/cd7f4ccd-9af2-4f41-8c6b-ee18e019460b', 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'}}} {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.099722s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.014423s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.068138s] ... ok {3} ironic.tests.unit.api.v1.test_root.TestV1Routing.test_route_checks_version [0.036785s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/ {} GOT:{u'media_types': [{u'base': u'application/json', u'type': u'application/vnd.openstack.ironic.v1+json'}], u'links': [{u'href': u'http://localhost/v1/', u'rel': u'self'}, {u'href': u'https://docs.openstack.org//ironic/latest/contributor//webapi.html', u'type': u'text/html', u'rel': u'describedby'}], u'drivers': [{u'href': u'http://localhost/v1/drivers/', u'rel': u'self'}, {u'href': u'http://localhost/drivers/', u'rel': u'bookmark'}], u'id': u'v1', u'chassis': [{u'href': u'http://localhost/v1/chassis/', u'rel': u'self'}, {u'href': u'http://localhost/chassis/', u'rel': u'bookmark'}], u'nodes': [{u'href': u'http://localhost/v1/nodes/', u'rel': u'self'}, {u'href': u'http://localhost/nodes/', u'rel': u'bookmark'}], u'ports': [{u'href': u'http://localhost/v1/ports/', u'rel': u'self'}, {u'href': u'http://localhost/ports/', u'rel': u'bookmark'}]} {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.015519s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestBooleanType.test_invalid_value [0.015498s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_collection_links_default_limit [0.090576s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'38c81d28-e52c-4abb-8800-ecb09dc67396', u'links': [{u'href': u'http://localhost/v1/volume/targets/38c81d28-e52c-4abb-8800-ecb09dc67396', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/38c81d28-e52c-4abb-8800-ecb09dc67396', 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'c878de83-a604-4787-ac91-41bca6fb13d5', u'links': [{u'href': u'http://localhost/v1/volume/targets/c878de83-a604-4787-ac91-41bca6fb13d5', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c878de83-a604-4787-ac91-41bca6fb13d5', 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'6cb157ed-7eca-4c88-861b-c27269bc54e3', u'links': [{u'href': u'http://localhost/v1/volume/targets/6cb157ed-7eca-4c88-861b-c27269bc54e3', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/6cb157ed-7eca-4c88-861b-c27269bc54e3', 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=6cb157ed-7eca-4c88-861b-c27269bc54e3'} {3} ironic.tests.unit.api.v1.test_types.TestBooleanType.test_valid_false_values [0.013580s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.027533s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.020168s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_against_single [0.044064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4d9f39d-4552-4762-baef-629f72acea9f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.075429s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.020822s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.017657s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_and_fields [0.040276s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=boot_index,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4cbf0d09-6920-4cf0-b917-3118841a297a X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {3} ironic.tests.unit.api.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.019074s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.013866s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.059023s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.101927s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.018983s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_false [0.059401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=False {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {3} ironic.tests.unit.api.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_without_optional_key [0.015325s] ... ok {3} ironic.tests.unit.api.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.013980s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_dynamic_drivers [0.015154s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.066590s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_empty [0.040749s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:{u'targets': []} {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_inject_nmi [0.018970s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_advanced_net_fields [0.015732s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.102602s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_port_physical_network_no_pin [0.013291s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.054129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-924cbc35-8b40-4398-9e0d-ce254bc58ca8 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\"}"} {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_portgroup_mode_properties [0.012153s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.068761s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.031250s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_portgroups [0.011899s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_ramdisk_endpoints [0.011624s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.021896s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_remove_chassis_uuid [0.012550s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.012597s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_resource_class [0.015913s] ... ok {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.013710s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_allow_storage_interface [0.013214s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type_missing [0.059469s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_clean_verbs [0.016629s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_driver_detail_false [0.015866s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.031421s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.039238s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_filter_driver_type [0.019705s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_inspect_verbs_fail [0.019161s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.051727s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_specify_resource_class [0.018226s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.015216s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_check_allow_unknown_verbs [0.017468s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.018768s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.012296s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.097944s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.017277s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.014302s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_links [0.237837s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/cf9910af-53d8-4a93-96cf-d72965bd90da {} GOT:{u'boot_index': 0, u'uuid': u'cf9910af-53d8-4a93-96cf-d72965bd90da', u'links': [{u'href': u'http://localhost/v1/volume/targets/cf9910af-53d8-4a93-96cf-d72965bd90da', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/cf9910af-53d8-4a93-96cf-d72965bd90da', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:29.995314+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/cf9910af-53d8-4a93-96cf-d72965bd90da {} GOT:{u'boot_index': 0, u'uuid': u'cf9910af-53d8-4a93-96cf-d72965bd90da', u'links': [{u'href': u'http://localhost/v1/volume/targets/cf9910af-53d8-4a93-96cf-d72965bd90da', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/cf9910af-53d8-4a93-96cf-d72965bd90da', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:29.995314+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/cf9910af-53d8-4a93-96cf-d72965bd90da {} GOT:{u'boot_index': 0, u'uuid': u'cf9910af-53d8-4a93-96cf-d72965bd90da', u'links': [{u'href': u'http://localhost/v1/volume/targets/cf9910af-53d8-4a93-96cf-d72965bd90da', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/cf9910af-53d8-4a93-96cf-d72965bd90da', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:29.995314+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.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.048202s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.020337s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.016471s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_one_invalid_api_version [0.050875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.019098s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.091612s] ... ok {0} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.012398s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.062505s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.022666s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.010937s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.008545s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.020735s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.029630s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.010981s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.010755s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.020534s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.011586s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.008982s] ... ok {3} ironic.tests.unit.api.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.020238s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_account_exception [0.010004s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_account_exception_radosgw [0.008362s] ... ok {3} ironic.tests.unit.api.v1.test_versions.TestVersionConstants.test_name_value_match [0.019334s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.063404s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.016646s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.008435s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_sort_key [0.149046s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?sort_key=uuid {} GOT:{u'targets': [{u'boot_index': 2, u'uuid': u'6e72695d-c98a-4450-a34a-e02a47e28d7a', u'links': [{u'href': u'http://localhost/v1/volume/targets/6e72695d-c98a-4450-a34a-e02a47e28d7a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/6e72695d-c98a-4450-a34a-e02a47e28d7a', 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'81c8134a-dd4c-41c5-b942-b97c92b4b7bd', u'links': [{u'href': u'http://localhost/v1/volume/targets/81c8134a-dd4c-41c5-b942-b97c92b4b7bd', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/81c8134a-dd4c-41c5-b942-b97c92b4b7bd', 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'c036f49d-24a7-4275-b799-01811609bb1a', u'links': [{u'href': u'http://localhost/v1/volume/targets/c036f49d-24a7-4275-b799-01811609bb1a', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/c036f49d-24a7-4275-b799-01811609bb1a', 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.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.029958s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.057893s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_no_refresh [0.028708s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_node_uuid_invalid_type [0.052650s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48abf57e-a2ba-4f4a-9912-cd5d8ff03866 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.019832s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.013854s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.012172s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.009022s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_connerror [0.009749s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_uuid [0.066792s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9afe5a6-2786-4412-9a56-70c9c8a8fec1 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\"}"} {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_ioerror [0.014026s] ... ok {3} ironic.tests.unit.api.v1.test_volume.TestGetVolume.test_get_volume [0.170628s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /v1/volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /volume/ {} GOT:{u'connectors': [{u'href': u'http://localhost/v1/volume/connectors', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors', u'rel': u'bookmark'}], u'targets': [{u'href': u'http://localhost/v1/volume/targets', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets', u'rel': u'bookmark'}], u'links': [{u'href': u'http://localhost/v1/volume/', u'rel': u'self'}, {u'href': u'http://localhost/volume/', u'rel': u'bookmark'}]} GET: /v1/volume/connectors {} GOT:{u'connectors': []} GET: /volume/connectors {} GOT:{u'connectors': []} GET: /v1/volume/targets {} GOT:{u'targets': []} GET: /volume/targets {} GOT:{u'targets': []} {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.014093s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_network_interface_is_set [0.116787s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.011848s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_update_byid_invalid_api_version [0.031423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.015265s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.023865s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_glance_protocol [0.007640s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.012906s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.022239s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.009406s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.015286s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.023252s] ... ok {2} ironic.tests.unit.common.test_exception.TestIronicException.test___init__ [0.010720s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi [0.017341s] ... ok {1} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_doesnt_contain_id [0.088478s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {'foo': 123}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-af6975d5-0820-4c41-8235-c9b6d568cba3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {"foo": 123}, "created_at": "2017-10-31T14:11:30.543954+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {u'foo': 123}, u'created_at': u'2017-10-31T14:11:30.543954+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.common.test_fsm.FSMTest.test_is_stable_not [0.018554s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.019241s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.016269s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.030835s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.025337s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_two [0.018906s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions_bad [0.016933s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ The database is not compatible with this release of ironic (9.1.2.dev201710311400). Please run "ironic-dbsync online_data_migrations" using the previous release. {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.020309s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_with_host_port [0.016484s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.018380s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.015101s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.010587s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.016202s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_check_image_service__no_client_set_http [0.030623s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.012775s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.017616s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ Error while running foo: bar. {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.012128s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.005579s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_check_image_service_client_set [0.026788s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.024026s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_get_image_service__no_client_set_https_secure [0.017128s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.016324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. Data migrations have completed. {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.016146s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000236s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.011678s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_config_exception [0.015242s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.011407s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.087203s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.021596s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw [0.015701s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.094648s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_invalid [0.018497s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_collection_links_detail [0.373976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'087430e9-e593-459f-baac-0f88d92c6e0f', u'links': [{u'href': u'http://localhost/v1/volume/connectors/087430e9-e593-459f-baac-0f88d92c6e0f', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/087430e9-e593-459f-baac-0f88d92c6e0f', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:30.768939+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'a5d1e642-268a-45b0-841b-731ac6df5cde', u'links': [{u'href': u'http://localhost/v1/volume/connectors/a5d1e642-268a-45b0-841b-731ac6df5cde', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/a5d1e642-268a-45b0-841b-731ac6df5cde', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:30.773786+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'f5352a6b-472b-4781-9f24-066b4f064f0d', u'links': [{u'href': u'http://localhost/v1/volume/connectors/f5352a6b-472b-4781-9f24-066b4f064f0d', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/f5352a6b-472b-4781-9f24-066b4f064f0d', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:30.776952+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=f5352a6b-472b-4781-9f24-066b4f064f0d'} {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_radosgw_endpoint_with_swift [0.017348s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.015386s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.086264s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.014825s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_true [0.019524s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_detail_and_fields [0.060660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1b7759ef-8e05-4fec-8a46-b96ed6756747 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\"}"} {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.017347s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.109115s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.015992s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_empty [0.037127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': []} {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.087369s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.036356s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.016307s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.064648s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.018032s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success [0.015881s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.076861s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?node=test-node {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'397f1276-1790-4810-b6b1-1f21bb77d94e', u'links': [{u'href': u'http://localhost/v1/volume/connectors/397f1276-1790-4810-b6b1-1f21bb77d94e', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/397f1276-1790-4810-b6b1-1f21bb77d94e', 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'5af7aaa1-dd74-4fa7-96e8-7238f4762a51', u'links': [{u'href': u'http://localhost/v1/volume/connectors/5af7aaa1-dd74-4fa7-96e8-7238f4762a51', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5af7aaa1-dd74-4fa7-96e8-7238f4762a51', 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'8159f495-02f1-4228-9ed9-1ebf4fe3302d', u'links': [{u'href': u'http://localhost/v1/volume/connectors/8159f495-02f1-4228-9ed9-1ebf4fe3302d', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/8159f495-02f1-4228-9ed9-1ebf4fe3302d', u'rel': u'bookmark'}], u'connector_id': u'test-value-2'}]} {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href [0.014281s] ... ok {0} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.085838s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_token_not_needed [0.016663s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.011553s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.079699s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_unknown_protocol [0.012240s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_get_one_custom_fields [0.056602s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} GOT:{u'connector_id': u'iqn.2012-06.com.example:initiator', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}} {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_with_region [0.017887s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.059856s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.012185s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.029519s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_region [0.010954s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.009480s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.022636s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.018970s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_no_interfaces_set [0.050202s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.061342s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.025149s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_many [0.097898s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'558cadf5-afb9-40a2-a0df-af09ae20e894', u'links': [{u'href': u'http://localhost/v1/volume/connectors/558cadf5-afb9-40a2-a0df-af09ae20e894', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/558cadf5-afb9-40a2-a0df-af09ae20e894', 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'ba669379-634f-447e-a610-7a6a04bb168c', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ba669379-634f-447e-a610-7a6a04bb168c', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ba669379-634f-447e-a610-7a6a04bb168c', 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'af07ab98-9ff8-427a-9df9-b671904ef7ad', u'links': [{u'href': u'http://localhost/v1/volume/connectors/af07ab98-9ff8-427a-9df9-b671904ef7ad', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/af07ab98-9ff8-427a-9df9-b671904ef7ad', 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'5d6783d8-4bfc-4cec-9ae4-9991ab96c3b6', u'links': [{u'href': u'http://localhost/v1/volume/connectors/5d6783d8-4bfc-4cec-9ae4-9991ab96c3b6', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/5d6783d8-4bfc-4cec-9ae4-9991ab96c3b6', 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'42d21b45-8fdf-4682-a1bc-d8d7f092e78d', u'links': [{u'href': u'http://localhost/v1/volume/connectors/42d21b45-8fdf-4682-a1bc-d8d7f092e78d', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/42d21b45-8fdf-4682-a1bc-d8d7f092e78d', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-4'}]} {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.048660s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_mkisofs_fails [0.049111s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.057685s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestListVolumeConnectors.test_sort_key [0.068110s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/connectors?sort_key=uuid {} GOT:{u'connectors': [{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'type': u'iqn', u'uuid': u'507971c1-b5ab-4d7d-a8de-1615af91dc57', u'links': [{u'href': u'http://localhost/v1/volume/connectors/507971c1-b5ab-4d7d-a8de-1615af91dc57', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/507971c1-b5ab-4d7d-a8de-1615af91dc57', 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'8d00d1a1-c569-4a6c-8727-687581d4dbb9', u'links': [{u'href': u'http://localhost/v1/volume/connectors/8d00d1a1-c569-4a6c-8727-687581d4dbb9', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/8d00d1a1-c569-4a6c-8727-687581d4dbb9', 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'ac0dee72-d048-4855-b41f-174acc0cf4d3', u'links': [{u'href': u'http://localhost/v1/volume/connectors/ac0dee72-d048-4855-b41f-174acc0cf4d3', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/ac0dee72-d048-4855-b41f-174acc0cf4d3', u'rel': u'bookmark'}], u'connector_id': u'test-connector_id-1'}]} {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.026913s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.015824s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.012870s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.055271s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.017355s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.008684s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_no_interfaces [0.103162s] ... ok {2} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_url_internal_fail [0.006621s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_root [0.068402s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2076599-46e0-46d7-ac2c-456fe0cbfaf7 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:31.282939+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "type": "iqn"} {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.061544s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_add_root_non_existent [0.038774s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef0f7967-a156-40b1-8efb-db08702c7e79 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\"}"} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_remove_non_existent_property_fail [0.039285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-58b3dfbb-f3c9-49f6-ad6e-c3882440b19d X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.062282s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_unset_interfaces [0.095865s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.103744s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.025987s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_invalid_power_state [0.056540s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d92a51fa-3f98-4cc2-80fd-d7b53dbffd9f X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\"}"} {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.025611s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.010931s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.010701s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.010246s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_dynamic_driver_and_interfaces [0.093002s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.014100s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_replace_singular [0.069336s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20416585-95b7-4f85-adb6-c6d2f5c120db X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:31.489143+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "type": "iqn"} {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.035846s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.014789s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.125255s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.014869s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.014971s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPatch.test_update_invalid_api_version [0.034896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_neutron_dhcp [0.013170s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.017778s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.013454s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_existing_rule_passes [0.012783s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.019573s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector [0.075285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-b87cb796-464d-4d89-ae45-f188ba994d10 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2000-01-01T00:00:00+00:00', u'updated_at': None, u'connector_id': u'iqn.2012-06.com.example:initiator', u'type': u'iqn'} {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task [0.086478s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.119315s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.064474s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_error [0.048332s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c91565b5-3705-4840-b93a-fc2b794b18ce X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_unknown [0.043001s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_create_volume_connector_no_mandatory_field_type [0.033058s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-56319ed7-c4cb-4cd0-86bd-a1ed8e683a05 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute type. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.064475s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.061823s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.102709s] ... ok {3} ironic.tests.unit.api.v1.test_volume_connectors.TestPost.test_node_uuid_to_node_id_mapping [0.056122s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'type': 'iqn', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-814d7a7c-5172-4575-89ba-1d53d24ebf00 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:31.769649+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn"} {3} ironic.tests.unit.api.v1.test_volume_connectors.TestVolumeConnectorObject.test_volume_connector_init [0.009557s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.064993s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.057148s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestDelete.test_delete_volume_target_node_locked [0.055856s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-dde61f70-5da8-458c-9b37-364c4d1796e3 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\"}"} {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.061866s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.057489s] ... ok {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.112182s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail [0.049181s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?detail=True {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'links': [{u'href': u'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', u'rel': u'bookmark'}], u'extra': {}, u'created_at': u'2017-10-31T14:11:31.873637+00:00', u'updated_at': None, u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678', u'properties': {u'target_iqn': u'iqn.foo'}}]} {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.054691s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.056033s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_detail_sepecified_by_path [0.052127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-da19156e-f075-4ad4-9099-df32611c7f83 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute target_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\"}"} {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.094214s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.059698s] ... ok {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_none [0.082684s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.011410s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.010451s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.015126s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.009635s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_one [0.008667s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.013439s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.010577s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.012297s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.095883s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.010333s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.017074s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_all_by_node_name_ok [0.136773s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?node=test-node {} GOT:{u'targets': [{u'boot_index': 0, u'uuid': u'bb7e4a8b-8ce0-4c9d-8381-0e3e807082d9', u'links': [{u'href': u'http://localhost/v1/volume/targets/bb7e4a8b-8ce0-4c9d-8381-0e3e807082d9', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/bb7e4a8b-8ce0-4c9d-8381-0e3e807082d9', 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'99f7c6c2-6da3-4051-954f-1f1600a16a61', u'links': [{u'href': u'http://localhost/v1/volume/targets/99f7c6c2-6da3-4051-954f-1f1600a16a61', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/99f7c6c2-6da3-4051-954f-1f1600a16a61', 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'56791d83-7ffa-41ed-a60f-c0f1a66e3302', u'links': [{u'href': u'http://localhost/v1/volume/targets/56791d83-7ffa-41ed-a60f-c0f1a66e3302', u'rel': u'self'}, {u'href': u'http://localhost/volume/targets/56791d83-7ffa-41ed-a60f-c0f1a66e3302', u'rel': u'bookmark'}], u'volume_type': u'iscsi', u'node_uuid': u'1be26c0b-03f2-4d2e-ae87-c02d7f33c123', u'volume_id': u'12345678'}]} {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.020979s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.017433s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.011702s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.015322s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_key_exception [0.010072s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.047362s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.011317s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_ref_ssl [0.008091s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment_no_physnet [0.026010s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_get_one_invalid_api_version [0.056300s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "404 Not Found\n\nThe resource could not be found.\n\n "} {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.013323s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.011659s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.010954s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_out_range_auth_strategy [0.011024s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.062385s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_get_ring_success [0.031781s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.017467s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error [0.010551s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_code [0.009926s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.008815s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.048254s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_default_v1 [0.011065s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestListVolumeTargets.test_sort_key_invalid [0.097357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa379153-d5e6-4870-b6a5-d2722f0ec102 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e11c4b16-1948-415c-9b17-118ce542afa4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\"}"} GET: /v1/volume/targets?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f47c67c-3e11-4aaf-8c55-70417f501bae X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\"}"} {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_no_token [0.011369s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.011269s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.090616s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.010469s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_efibootimg [0.017372s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.010222s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_node_id [0.068451s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-786c599e-3396-4a39-a1e3-e19fc8965a85 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\"}"} {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_for_hrefs [0.016136s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.090629s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.018271s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.010185s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.086194s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.019402s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.010568s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.013818s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.010367s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.085681s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.009523s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.010187s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_node_uuid [0.111618s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a745e1ef-8c23-4396-8dc3-8af7afe42c66 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:32.359037+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.011009s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.090718s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_deploy_kr_info [0.039638s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.011612s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_deploy_kr_info_bad_driver_info [0.031174s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.029333s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.068447s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_add_root [0.101881s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52c9a133-e4a3-4a05-a80d-c1169cde1468 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 100, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:32.471834+00:00", "updated_at": null, "volume_type": "iscsi", "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "volume_id": "12345678", "properties": {"target_iqn": "iqn.foo"}} {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.089212s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir_ipxe [0.031694s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.028066s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.065994s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_remove_non_existent_property_fail [0.068386s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d479619c-a7d3-48ed-b1bd-eee7fd5e261e X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/extra/non-existent', 'op': 'remove'}]'. Reason: can't remove non-existent object 'non-existent'\"}"} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.048554s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.090039s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.064494s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.041457s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_boot_index_already_exist [0.064353s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-db6658f1-7b68-4ced-8023-bb1f8a99fa50 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\"}"} {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.018340s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_current_release_entry [0.011271s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.012642s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.010369s] ... ok {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.088005s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.082591s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.013866s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_node_uuid [0.068177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c8136c4-c382-4c42-998f-5d72ac034336 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"boot_index": 0, "uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "extra": {}, "created_at": "2017-10-31T14:11:32.692955+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.common.test_states.StatesTest.test_state_values_length [0.013058s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPatch.test_replace_node_uuid_inalid_type [0.036788s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-27a8eb12-702e-4714-817a-0d7f35c32f25 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\"}"} {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.042126s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.056017s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.012822s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.012129s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.012209s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.042605s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_error [0.050244s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2f9bad93-86d1-41be-b9ee-1fa95d17ccdf X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Server\", \"faultstring\": \"\"}"} {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.014662s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.019542s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.099910s] ... ok {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.009485s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_existing_rule_raises [0.020467s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_invalid_node_uuid_format [0.040137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'node_uuid': 123, 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84d251ca-8773-4504-9ec6-9c209f9725ed X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\"}"} {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.021694s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.067706s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.038443s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'volume_type': 'iscsi', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb0c2ff5-fa7b-40ec-a322-5fcdc4232701 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.022835s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.020471s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.009087s] ... ok {3} ironic.tests.unit.api.v1.test_volume_targets.TestPost.test_create_volume_target_no_mandatory_field_type [0.036654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST: /v1/volume/targets {'boot_index': 0, 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_id': '12345678', 'properties': {'target_iqn': 'iqn.foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e0f23e9-763c-4789-9305-02463c60cce4 X-Openstack-Ironic-Api-Maximum-Version: 1.34 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute volume_type. Value: 'None'. Mandatory field missing.\"}"} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.012711s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.093586s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha1 [0.007735s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.065244s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.007889s] ... ok {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.030720s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.011003s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.009384s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.025043s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.009067s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.011241s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.007486s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.008851s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.041067s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.012571s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.066965s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.011563s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.014735s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__check_versions [0.022357s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.015292s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.011411s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.011469s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.019482s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ foo() migrated 15 of 15 objects. {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.033819s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.024345s] ... ok {0} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_fails_to_load_extension [0.010421s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.013979s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_skip_if_no_hw_types [0.015125s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.014429s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.089995s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.014710s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.016027s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.072359s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.014102s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.018465s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.013648s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.074005s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.015933s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.018011s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.080767s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.009157s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.050971s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.133242s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.063222s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.063554s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.018891s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_uefi [0.058996s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.025290s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.016610s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_with_endpoint_override [0.022322s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.025366s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.025346s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.024185s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.024278s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.010215s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.018094s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.136378s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_ipxe_config_uefi [0.082056s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.014712s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.020795s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.015450s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.010664s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.010611s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_invalid_network_interface [0.054328s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.014353s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.073340s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.012801s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.012349s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.028748s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.013452s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.123176s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_classic_driver_valid_interfaces [0.059827s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.014662s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_invalid_network_interface [0.021380s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.062417s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.061817s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.051317s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.043748s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.020264s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_config_for_configdrive [0.108915s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_dhcp [0.052208s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_driver_or_hw_types [0.019808s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.020210s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.071960s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.017745s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.026639s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.029703s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.010616s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.012404s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.084664s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.016782s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_classic_driver_unset_interfaces [0.111239s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.012221s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.099206s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.014367s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.014857s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.016468s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.008508s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.008294s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_allowed_interfaces [0.072122s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.009066s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.009577s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.103578s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.009956s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.009655s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.010795s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.034085s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.026078s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_sha512 [0.011562s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.012317s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_update_node_set_classic_driver_and_not_allowed_interfaces [0.110964s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.014205s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.190024s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init___radosgw [0.085047s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.019194s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.019542s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.018551s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults [0.013549s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.028682s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.011949s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.010119s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.011123s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.082737s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.011141s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.015912s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.015702s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.013871s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.160187s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.076761s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.037075s] ... ok {1} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.010951s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.020832s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.008177s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.039340s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.009950s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.011552s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.012666s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.031085s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.179693s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.143191s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.013219s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_build_driver_for_task_incorrect [0.357298s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.136704s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.010888s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.051249s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.049833s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.173718s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.015243s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.042203s] ... ok {3} ironic.tests.unit.common.test_driver_factory.GetDriverTestCase.test_get_driver_known [0.046819s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.143620s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.067405s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.271793s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.056988s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.150611s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_driver_or_hardware_type [0.051120s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.017002s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.017938s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.069113s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.144766s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_classic_drivers [0.043341s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.412070s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.137146s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_with_only_dynamic_drivers [0.093274s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.464830s] ... ok {3} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.136664s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_name_conflict [0.027052s] ... ok {3} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.022507s] ... ok {3} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.015041s] ... ok {3} ironic.tests.unit.common.test_exception.TestIronicException.test___init___string_serializable [0.014837s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.015695s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.251356s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceAPIServers.test__get_api_servers_with_keystone [0.024348s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.232682s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_get_image_service__no_client_set_https_insecure [0.021464s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.039081s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.017658s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_image_href_ordinary_file_name_false [0.013836s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_ref_no_ssl [0.014617s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.018666s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.180359s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.024439s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_refresh [0.053373s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.165287s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.033796s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.017968s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.017506s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_out_range_auth_strategy [0.015427s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.163540s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.024997s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.017390s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.026182s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.327252s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.035794s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.195790s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi [0.049843s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_uefi_rootfs_fails [0.024093s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.018285s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.021806s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.235696s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.029719s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.015654s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.022971s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.019804s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_url_internal [0.008324s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.234228s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_url_with_interface [0.011245s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.230264s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.011255s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.058973s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.057069s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.149455s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.315186s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.219437s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.090169s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.050255s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_not_supported [0.054690s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.095863s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.251359s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [0.084844s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.252941s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.083620s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_not_supported [0.235449s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.086516s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.271710s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.090187s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.293446s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.089553s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.235120s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.028210s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.017095s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.087804s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.095946s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.054445s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.097147s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.332019s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.053582s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.038798s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.039355s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.021262s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.217232s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.025273s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.021320s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.021692s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.020948s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.018373s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_existing_rule_fails [0.022930s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.275637s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_enforce_missing_rule_fails [0.025983s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.201301s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.083359s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.088020s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.023908s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.057211s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.485506s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.101597s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.062797s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.084211s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.026651s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.085817s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.060206s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.191407s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_elilo [0.065442s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.183842s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_elilo_config [0.033707s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_volumes [0.040220s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.023843s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_bios [0.051264s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.185019s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.267572s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_deploy_kr_info_ipxe [0.024537s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.021788s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.058777s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.201737s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.025258s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.012732s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.014388s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.013838s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.017412s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.081596s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.015978s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.014214s] ... ok {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.009555s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.009705s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.010181s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.009222s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.009646s] ... ok {3} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.038863s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.201146s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.125854s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.284865s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.077439s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.087159s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.070326s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.054714s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.071249s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.070493s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.232043s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.270861s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat [0.226588s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.222357s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.261599s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.084650s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.069726s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.012684s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.015106s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_manual_clean [0.262073s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5 [0.011488s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_for_md5_not_binary [0.008998s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_hash_file_throws_for_invalid_or_unsupported_hash [0.009701s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.008822s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.075817s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.010525s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.010175s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.010177s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.010315s] ... ok {3} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.010545s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.235245s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.011610s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.023561s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.030749s] ... ok {3} ironic.tests.unit.conductor.test__mgr_utils.UtilsTestCase.test_get_mockable_ext_mgr [0.012090s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.016248s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.161017s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_deploy_timeouts [0.207984s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort [0.058039s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.197061s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.132730s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_with_step_name [0.059247s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.202900s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok [0.167226s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.194218s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.290160s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.333842s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_configdrive [0.171053s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.160712s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.154808s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.192742s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.199398s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.219696s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.063578s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.025045s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.179036s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.401682s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.196044s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.073913s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__check_cleanwait_timeouts_automated_clean [0.187976s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.072444s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_clean_abort_tear_down_fail [0.062013s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.161482s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.264563s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps [0.055448s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_starts_without_enabled_hardware_types [0.077994s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_unset_clean_step [0.063632s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_error [0.341565s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states [1.109804s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.193870s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.183573s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_driver_raises_prepare_error [0.184446s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.205599s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.198123s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_validate_fail [0.051381s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.212770s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_invalid_state [0.153967s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.176891s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.173242s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.171502s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_manage [0.166308s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_provide [0.167373s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.194513s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.194273s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.061454s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.379781s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.189839s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.015240s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.276430s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.015057s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.247609s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_alive [0.139759s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.189760s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeout [0.016016s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.014126s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.178198s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_disabled [0.013498s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.016111s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.013719s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.016100s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.013007s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.020254s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.192520s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.030547s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.030907s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.026351s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.036068s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.013594s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.013892s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.035608s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.012654s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.021269s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.022615s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.063001s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.021511s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.013038s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.014993s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.013288s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.015197s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.238305s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.013771s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.013922s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.067375s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.016101s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestHardwareTypeProperties.test_hardware_type_properties_manual_management [0.105470s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_agent_ilo [0.122770s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_ok [0.195082s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo_iscsi [0.118261s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.207017s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_ipmitool [0.116197s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ilo [0.182170s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_manual_clean [0.181604s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.112306s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_pxe_snmp [0.186043s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.306438s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provisioning_action_worker_pool_full [0.184334s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.166161s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces [0.069648s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.095657s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.061928s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.077959s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.085156s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.201945s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.019122s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_disabled [0.019565s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.020401s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.018239s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.177550s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_timeouts [0.198358s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.025068s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.018922s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.021125s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.021036s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.212548s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.032061s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.028412s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.022032s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.164270s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.189164s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.034370s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.024365s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.016471s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.016393s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.076387s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.018415s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.015440s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.162144s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.077335s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.130387s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.019946s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.190074s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.073460s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.063504s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.467578s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.138883s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.044408s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.122525s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.091911s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.068892s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.195801s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated [0.183525s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.071983s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.096310s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.161869s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.011766s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.181485s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.133061s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state [0.184304s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.070413s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.072932s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.191647s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.132028s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.186525s] ... ok {0} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift [0.013276s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.010700s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.011188s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.109999s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.216050s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.031253s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.058057s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_clears_maintenance_reason [0.057280s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.087280s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual [0.189646s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.016830s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.017329s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_disabled [0.121378s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.017992s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_no_skip [0.059512s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.019334s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.059288s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_all [0.118334s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices_iface_not_supported [0.039333s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.079970s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.333143s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.300381s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_node_locked [0.057183s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_not_supported [0.082397s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_shutdown [0.320542s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_supported_boot_devices [0.064171s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_not_supported [0.076852s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi [0.076983s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.274906s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_node_locked [0.049456s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.097218s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_supported [0.073682s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_invalid_param [0.070662s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.105477s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_validate_missing_param [0.076392s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.103545s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [0.278928s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task_no_management [0.169994s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_node_locked [0.044821s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.208154s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.041631s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.103079s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.065658s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.315618s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.060172s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.058036s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.060888s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.257559s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.053262s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.261026s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.054853s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.098788s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.093358s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.082895s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.096598s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.113158s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.280550s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.088904s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.094466s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_hw_type [0.089260s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_not_supported [0.082952s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.284418s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.905834s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.269497s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.162003s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.091680s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.128387s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.153718s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.081436s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_configdrive_swift_error [0.256084s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.066640s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data [0.137274s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.163044s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.092397s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_deploy_ok_2 [0.183568s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.055905s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_non [0.136579s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.054438s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync_hw_type [0.116994s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device [0.058186s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.054221s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_get_boot_device_validate_fail [0.058112s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.038555s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device [0.056565s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.058413s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.155736s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_automated_clean [0.250617s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_set_boot_device_validate_fail [0.060364s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.057390s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.008569s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.018726s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.018328s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.008926s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.073635s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.013932s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.012897s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.012742s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.012386s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.024674s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.081319s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.019538s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.014844s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.014027s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.012501s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.066306s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.016033s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.267930s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.013343s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.010302s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.010681s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.010699s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.011221s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.011615s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.305604s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.010122s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.088939s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.030615s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.042678s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.023971s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_with_driver [0.029210s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.062730s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.025527s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.021833s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.021463s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_with_driver [0.028334s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async_hw_type [0.255929s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.099634s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.025853s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.028084s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.039191s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.288962s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.009267s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.010120s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.009441s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.107002s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.027345s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.011659s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.009695s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.025493s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.040240s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.027086s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.107800s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.236598s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.056907s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.051913s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.065247s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status [0.236687s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.084406s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.255654s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.074634s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.344400s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.083648s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods_not_supported [0.047587s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.065154s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.213170s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.071929s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.082955s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.169155s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.027352s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.083584s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.028406s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.014527s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.011984s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_exceptions_skipping [0.443209s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.056402s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.018991s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.017848s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.018524s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.018829s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.087330s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.020831s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_vendor_interface_not_supported [0.191457s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.023541s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.019174s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.032150s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.090525s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.071971s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.022212s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.019892s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.013144s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.054017s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.017203s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_node_not_locked [0.252785s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.017272s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.030823s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.013823s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.027620s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.102586s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.027700s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.019165s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.027064s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.021206s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.031887s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.018825s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.033799s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.017809s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.033046s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.093791s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.029330s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.036622s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.035786s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.029353s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.032043s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.032911s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.026209s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.014546s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.020033s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.013924s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.018042s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.018529s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.110210s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.021255s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.015607s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.015476s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.015711s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.011181s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.078514s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.083407s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.016533s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.161608s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.028075s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.029908s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.095389s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.028136s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.024127s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.034905s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.070245s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.029246s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.025076s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.213090s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.016637s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.029884s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.028163s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.114439s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.028738s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.012327s] ... ok {2} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_random_exception [0.012480s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.013399s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_max_count_zero [0.104102s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.014713s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.105460s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.061929s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_ipmitool [0.206086s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.057275s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.110534s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_same_nodes [0.151576s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.059125s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.052889s] ... ok {1} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_one_node [0.124649s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.136829s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_pxe [0.198188s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.030959s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.014820s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.085444s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.029120s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.015098s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.014807s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.073418s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.023181s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.148136s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.028838s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.019993s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.018455s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.080863s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.027358s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake_snmp [0.219256s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.034628s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.074172s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.023003s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.146566s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.033446s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.045572s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.089951s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.018726s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.140938s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.068123s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.086353s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.028699s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.032529s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.084712s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.029342s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.319051s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.034396s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.146831s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.024413s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.029701s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.015986s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.118602s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.031598s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.153260s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.147892s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.117945s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.090559s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.128486s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_iface_not_supported [0.068608s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.209940s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.118077s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.027248s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.019520s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.019583s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.019127s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.019478s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.142788s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.020745s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.020864s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.150475s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.022593s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.191214s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.021896s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.025141s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.027704s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.134591s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.026228s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.020137s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.149693s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.026281s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.022970s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.111161s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.022573s] ... ok {0} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.012948s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.008242s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.235561s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.055800s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.126332s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.058106s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.110894s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.081372s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.013616s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.019927s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device_fail [0.062099s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.229823s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.103123s] ... ok {3} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive [0.016580s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.021095s] ... ok {0} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_empty_db [0.076671s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_properties [0.074609s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.099114s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.070263s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_sensors_data [0.080524s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.127902s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.047677s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.014941s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.101564s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_validate [0.075211s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.028476s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.016323s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.087088s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.030737s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.018361s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state [0.077999s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.016978s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.026446s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.032137s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_invalid_state [0.075253s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.025245s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.010509s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.026824s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.010489s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.021040s] ... ok {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_fail [0.091186s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.082220s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_reboot_ok [0.088458s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.029063s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.026654s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.028120s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.039780s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.026968s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.097324s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.039692s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.022848s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.057621s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.026695s] ... ok {2} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_version_exists [0.105682s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.482376s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.019481s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.030903s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.018548s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.026416s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.059470s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.027116s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.018683s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.027684s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.016340s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.077858s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.020988s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_and_drivers [0.030862s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.019880s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_many_hosts_one_driver [0.025605s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.019922s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.061700s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.021564s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_with_old_conductor [0.036257s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.032189s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.028066s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.022982s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.066975s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.028157s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.022785s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.020798s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.021652s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.024108s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.029996s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.021134s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.082005s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.024646s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.331726s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.025541s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.034273s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.021049s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.029465s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.019217s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.023243s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.028135s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.023743s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.027389s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.020349s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.027691s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job [0.065838s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.024733s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.024494s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.019781s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs [0.029808s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test___send_sensor_data_multiple_workers [0.144157s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.010969s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.035743s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.028289s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.030607s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.045772s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.030423s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.023727s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.067763s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.027487s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.019172s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test__filter_out_unsupported_types_part [0.128563s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.035406s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.060787s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.036563s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.039477s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_inject_nmi_not_implemented [0.056006s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.033488s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.059664s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.041588s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.026607s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.026394s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.034253s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.060557s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.027402s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.032990s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.027914s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.025327s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_send_sensor_task [0.139864s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.065479s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.040343s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.030686s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.030648s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.055641s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.066073s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.026389s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.050685s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.036278s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.069971s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.112059s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login_exception [0.058234s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_address [0.018279s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.045826s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.024217s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_supported_boot_devices [0.053998s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.081344s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.032887s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration [0.094304s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.022743s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_fail [0.059029s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.027570s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.068463s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.033839s] ... ok {0} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_imc_exception [0.055539s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info [0.037733s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.043348s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_on_webserver [0.042784s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.027401s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.199678s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.036941s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.021667s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.067288s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.020785s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.071924s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.026224s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.032504s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.091676s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.023303s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.066691s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.022636s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.252533s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.026561s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.061383s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.025104s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.054156s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create_use_webserver_true_ramdisk_webserver [0.098380s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.033561s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.056688s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.023323s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.054499s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.022501s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host [0.017722s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_uefi_no_glance_image [0.074085s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_drac_host_and_drac_address [0.019694s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.029831s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.017267s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.016844s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.031851s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_vendor_interface_not_supported [0.096675s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.024030s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.081236s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.034343s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.018914s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.017584s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.029188s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.033905s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.024082s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.023691s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.022157s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.107291s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.025280s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.023120s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_uuid [0.073095s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.029384s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.023483s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.020452s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.067904s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.013650s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.069822s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.053567s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.028343s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.048687s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.028604s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.014036s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.018316s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.033398s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.016604s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.080478s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.071012s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.013548s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_invalid_job_queue [0.030384s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.014532s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.012512s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.016757s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.012767s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed [0.055628s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.074001s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.078598s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.014489s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.025050s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed [0.053518s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.028535s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.067638s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.021626s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.015428s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.081719s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.012937s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.013247s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.012469s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.048386s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.013923s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.013100s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.073532s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.015153s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.021285s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.062943s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.106322s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.016851s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.015488s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.014424s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.082242s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.012925s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.013192s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.083383s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.014819s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.015836s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.113006s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.033677s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.097985s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.031574s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.081564s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.042144s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.040532s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.036335s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.085805s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.017959s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.042995s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.015625s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.104092s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.036708s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout [0.014786s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_cleanup_ironic_exception [0.014809s] ... ok {3} ironic.tests.unit.conductor.test_utils.CleanupAfterTimeoutTestCase.test_cleanup_after_timeout_shared_lock [0.012056s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.048424s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.015261s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.010026s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.073370s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.010168s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.038938s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleLogin.test_cimc_handle_login [0.072773s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.013910s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info [0.022240s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.025043s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.048930s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_username [0.024592s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.030200s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.032157s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.025574s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.023673s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device [0.072917s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.062011s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.036686s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_properties [0.066986s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.092563s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.039184s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.224145s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.019984s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.055970s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_on [0.090451s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.106631s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.067796s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_ok [0.065867s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.100082s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.101139s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_on_ok [0.058906s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.100418s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.063215s] ... ok {2} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change [0.061608s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.056669s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.022080s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.058541s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_phyisical_disks [0.145413s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.132982s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.045874s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.065619s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.010311s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.021746s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.104621s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.078597s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.079024s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.147560s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.031912s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.030021s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.093154s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.091497s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.073610s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.040390s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.030365s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.052471s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.028063s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.028197s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_exc [0.049356s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.023612s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.049466s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.023275s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.071414s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.060497s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.025226s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.049966s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.053726s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.062433s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.090155s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.071785s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.059652s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.058690s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed [0.063528s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.096940s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_recreate_boot_iso_use_webserver [0.075244s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.067630s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status [0.058520s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.054748s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.042642s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.090992s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.109785s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.056143s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.058885s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.026609s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.076688s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance [0.070584s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.027445s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.101312s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.025921s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.057860s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.026790s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_clean_step_foreach_url [0.084629s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.025949s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.091714s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_processing_on_any_url_fails [0.066102s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.079286s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.087232s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_checksum_validation_error [0.060273s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.024725s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.079445s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.198210s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.047037s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.060016s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.045448s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.085949s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.052319s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.043283s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.047688s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.058898s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.010880s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.011519s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.019053s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.050240s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.070664s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.024146s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.066318s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.061240s] ... ok {3} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_1 [0.100045s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.028937s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_missing [0.021978s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.059486s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.024355s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.306867s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.024452s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.021151s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.060649s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance [0.050647s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.051139s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_MissingParam [0.055162s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.087161s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.063731s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.059957s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.063424s] ... ok {3} ironic.tests.unit.db.test_api.BackfillVersionTestCase.test_no_version_max_count_2_some_nodes [0.282890s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.061356s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.066530s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.067069s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.054254s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.070438s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.019199s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.065118s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.017797s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.039227s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.020473s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.088846s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.070718s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.057641s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.061835s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.011663s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.092506s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.054684s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.034117s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.073349s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_many_drivers [0.021393s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.041102s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_no_driver [0.022930s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_driver_dict_one_host_one_driver [0.020691s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.027689s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.087395s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.081564s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.028652s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.034869s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.060692s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.022786s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.078044s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.019753s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.054859s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.018468s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.010154s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.021743s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.021393s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.025288s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.101089s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.020204s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.097316s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.021576s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.010792s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.016710s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.239423s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.023088s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.052639s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.017539s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.101498s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.027582s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.025273s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.054088s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.024892s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.029783s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.110787s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.027662s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist_mac_exception [0.061485s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.033135s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.022179s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.085475s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.031854s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.021059s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.026395s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_fail [0.020143s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.120620s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.040750s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.013256s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.042645s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.022969s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.053450s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.033201s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.029304s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.024238s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.022104s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.053066s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.026729s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.119288s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.032863s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.020616s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_invalid_component_type [0.057060s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.022507s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.062838s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.021849s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_if_invalid_update_mode_provided [0.052243s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.026653s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.104550s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.063724s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.021929s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.047172s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.024086s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.021340s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.044274s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.062384s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.021378s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.023139s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.115244s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [0.045618s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.021052s] ... ok {3} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.008769s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.028250s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.009235s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.073340s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.012473s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.043731s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.071580s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.033892s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.065687s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.036842s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.019739s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.056351s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.068728s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.024951s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.064043s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.023182s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.021306s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.061686s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.055989s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.022871s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.018324s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.058854s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.021393s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.056521s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.072967s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.025001s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.011736s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.024425s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.057498s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_common.CIMCHandleTestCase.test_cimc_handle [0.071926s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_common.ParseDriverInfoTestCase.test_parse_driver_info_missing_password [0.018779s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.055793s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.062492s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.174941s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_get_boot_device [0.058826s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.055252s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.056162s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_deploy_iso_name [0.019645s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.031756s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.021287s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.011677s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_management.CIMCManagementTestCase.test_set_boot_device_fail [0.064806s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.011161s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.086302s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_deploy_iso_invalid [0.054805s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_get_power_state_fail [0.055115s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.025606s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.078079s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.019777s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_reboot_off [0.064372s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.044094s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.020951s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.094481s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_set_power_state_off_fail [0.072840s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.059615s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.PowerTestCase.test_validate [0.067478s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.058402s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.277007s] ... ok {3} ironic.tests.unit.drivers.modules.cimc.test_power.WaitForStateChangeTestCase.test__wait_for_state_change_fail [0.058411s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.064720s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.076277s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.065595s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.055938s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__create_ports_if_not_exist [0.251191s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.080297s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.059874s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.065497s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.033501s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.021355s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.041434s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.055679s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.058987s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_ok [0.027355s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.018984s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.045470s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.057810s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.062599s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.064456s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.028174s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.054141s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.061076s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.061645s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.052626s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.022051s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.053629s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.029609s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.060391s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.041410s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.064992s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.052763s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.054444s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.068707s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.080133s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.097528s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.053986s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.062507s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.063629s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.056860s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown [0.067522s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.099226s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.042680s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.065049s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.060781s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.052775s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.023159s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.063585s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.026834s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.101290s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.028258s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.047064s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.019606s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.018280s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.030178s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.083038s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.049184s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.022122s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.024729s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.062320s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.023513s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.103044s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.025430s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration [0.093282s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.023422s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.052483s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.100221s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.096087s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.260579s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.038339s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.082714s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.097602s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.025529s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.094176s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_deploy_iso_with_file [0.059652s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.080148s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.069955s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.020166s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.062590s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_no_boot_iso [0.024148s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.168218s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.081366s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.041062s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.071213s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.078917s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.040586s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_object_name [0.024707s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.082132s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.054584s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_deploy_iso_with_image_service [0.092257s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_InvalidParam [0.065907s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.079865s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.065098s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_url [0.071937s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.039065s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.108135s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.080246s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.052484s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.071003s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.066031s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.055119s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.057445s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.118547s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.069896s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.090558s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.072944s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.138793s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.108036s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.070641s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.251029s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.138273s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.091453s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.112706s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.080562s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_extra_new_key [0.086574s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.038854s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.155805s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.080154s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.050692s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.280770s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_no_cafile [0.033093s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.049339s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.083893s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.153838s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.053381s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.033671s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.091866s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.044296s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.036483s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.020899s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.021993s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.079033s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.054697s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.100265s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.302791s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.085507s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.077801s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.068671s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.023422s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.092399s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.020552s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.019213s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.032139s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.098611s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.017040s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.017735s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.035678s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.017349s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.113338s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.020515s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.038494s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.018122s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.028857s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.022572s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.024239s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.021441s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif_removal_no_deprecation [0.127078s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.026465s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.102194s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.024399s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.064789s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.091763s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.070089s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.054591s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.065540s] ... 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.052754s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.081452s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.043157s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.040024s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.033203s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.010273s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.088012s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.008977s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.063524s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.009819s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.045780s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.274201s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.084874s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.076220s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.084476s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.083281s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.088036s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.078589s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.057698s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.077808s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.062009s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.289364s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.093397s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.062334s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id_portgroup [0.094711s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.059971s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.143574s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.083484s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.063245s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.093624s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.070036s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.063466s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.010137s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.059228s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.080255s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.077830s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.018632s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.018709s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.061491s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.357624s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_clean_step_not_supported [0.032870s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.086266s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.048907s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.082157s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.056009s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.166208s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.054055s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.079746s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.056631s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.070010s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.052396s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.160985s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.070953s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.343247s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.065473s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.073076s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.052651s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_missing_values_empty_string [0.028406s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info [0.022856s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.058488s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.166498s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_throws_error_for_no_firmware_url [0.054357s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_validate_oneview_resources_compatibility [0.086620s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [0.041156s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info [0.027291s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_properties [0.027905s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.040837s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sht [0.025259s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.166079s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot [0.062048s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.351583s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.024754s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state [0.051297s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare [0.097960s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.054702s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.063913s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_cleaning [0.081901s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.164322s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.055259s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.059835s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.061122s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.078707s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.057726s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.159550s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.057268s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_boot_iso_name [0.020834s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.068756s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.021617s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.133319s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.022761s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.085506s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.087823s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.077258s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_active_node [0.420459s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.065749s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.022609s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.074208s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_cleaning [0.073954s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.061236s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.302095s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_vif [0.077679s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.065659s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.064158s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.061542s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.125729s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_neutron_absent [0.066093s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_maintenance_when_raise_exception [0.194921s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.062486s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.072895s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.089572s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.073376s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.037669s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.068527s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.058499s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.099589s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_manageable_when_in_use_by_oneview [0.191218s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.037233s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.069808s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview [0.068530s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.087976s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.077197s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.072957s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_successfuly_allocated_to_ironic [0.079075s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.076027s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.089985s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.089344s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_inspect_hardware [0.075800s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_no_binding_host_id [0.070542s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.024772s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.096669s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_validate [0.078153s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.063218s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_inspect_hardware [0.071165s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.097833s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.076955s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.252845s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_fail_to_get_server_profile [0.072119s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.063967s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.064025s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif [0.087672s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.063737s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_unknown_device [0.077622s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.063317s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_properties [0.026971s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.060891s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.089353s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.098899s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_sensors_data_not_implemented [0.073193s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.069363s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.082054s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_supported_boot_devices [0.072704s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.094255s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.064086s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.019914s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.018105s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.016914s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.090539s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_invalid_device [0.078846s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.017024s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.069273s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.018352s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info [0.024916s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.044366s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test__verify_node_info_fails [0.030569s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state [0.077666s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.087238s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.058415s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_validate [0.073910s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_validate_fail [0.076052s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.042475s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.086090s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.040058s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_deploy [0.065359s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_validate_fail_exception [0.082735s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.047173s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.093173s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare [0.074270s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.058969s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_validate_fail_node_used_by_oneview [0.080864s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.076397s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_prepare_cleaning [0.059652s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.046833s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down_with_automated_clean_disabled [0.057398s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_invalid_state [0.082123s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.081397s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.063650s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on [0.068091s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.069846s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.083723s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.037355s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_available_when_not_in_use_by_oneview [0.140848s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.073123s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_on_fail [0.083533s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.045165s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.064768s] ... ok {1} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_validate_fail_node_in_use_by_oneview [0.069423s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.085736s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_in_use_by_oneview [0.144521s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.067924s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.074235s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.078591s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.067659s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.070373s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_not_in_use_by_oneview [0.139344s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.066672s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.086565s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_no_deprecation_if_removing_vif [0.066089s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.096142s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_binding_host_id_raise [0.085533s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.092312s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.182087s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.085399s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_available_when_raise_exception [0.336427s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.080855s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.276794s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic [0.050133s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.027213s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.019677s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.078773s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.185864s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_node_is_in_use_by_oneview [0.063666s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.035644s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.025688s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_does_not_have_sp_applied [0.051788s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.106666s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_node_is_in_use_by_oneview [0.052054s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.031031s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.087081s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down_cleaning [0.062376s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.181748s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.078745s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_get_properties [0.043951s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.102714s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_inspect.ISCSIPXEOneViewInspectTestCase.test_validate [0.056552s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.077338s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device [0.053201s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.107794s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.182783s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.080453s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_fail [0.056531s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.064061s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.071078s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_true [0.059856s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.094243s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate [0.056475s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.081449s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.075334s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.031129s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.105709s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail_exception [0.061446s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.071531s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.071100s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_get_power_state_fail [0.056948s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.060443s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.030318s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.108974s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_validate [0.056465s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.059357s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_node_driver_info [0.020009s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.041769s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_spt [0.021191s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot_fail [0.052775s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.039492s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.090642s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_deploy [0.065139s] ... ok {0} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off [0.056021s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.070353s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.026380s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.066459s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.095349s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.062979s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.066002s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.090390s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.055984s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network_set_binding_host_id [0.079661s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.058744s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.051336s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.067436s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.058924s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_active_node [0.298000s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.067711s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.022139s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.069822s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.018171s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_tear_down_with_automated_clean_disabled [0.058223s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.017070s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_image_source_is_url [0.095334s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.016643s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.018121s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.062453s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.059952s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_no_proxy_without_proxies [0.091729s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.062288s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_stay_clean_failed_when_no_oneview_error [0.145843s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.067369s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done [0.065337s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.072556s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__add_applied_server_profile_uri_field [0.059698s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.053089s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_empty_response [0.065166s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.068036s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test__del_applied_server_profile_uri_field [0.057053s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.072157s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic [0.057846s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.070671s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.109803s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.063709s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_allocate_server_hardware_to_ironic_node_has_server_profile [0.053429s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.071120s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.065429s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_ironic_no_server_profile [0.050685s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.071314s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.070927s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_tear_down [0.061894s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.062219s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.097297s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_inspect.AgentPXEOneViewInspectTestCase.test_get_properties [0.040906s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.065299s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.051784s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_without_server_profile [0.056743s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered [0.052949s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.071220s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.109230s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_all_scenarios_for_translate_oneview_states [0.026522s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_get_boot_device_from_next_boot_device [0.079637s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_malformed_capabilities [0.031686s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.086148s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_sh [0.025742s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_get_oneview_info_missing_spt [0.022707s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.093120s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_common.OneViewCommonTestCase.test_verify_node_info_missing_sh [0.025154s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_set_boot_device_persistent_false [0.090586s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.068879s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_get_properties [0.031708s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.070323s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.052745s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_for_node_not_in_use_by_ironic [0.060602s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_power_interface_get_properties [0.020792s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewAgentDeployTestCase.test_prepare_cleaning [0.066483s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.065774s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.059755s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_get_properties [0.029475s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_reboot [0.053146s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot_fail [0.067486s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.053373s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_tear_down [0.067652s] ... ok {2} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_off_fail [0.055205s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook [0.040225s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.056373s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook_no_hook_registered [0.031742s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.052577s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewIscsiDeployTestCase.test_validate [0.073746s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.057448s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.050201s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning [0.073614s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.055090s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.062821s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.018114s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_is_done [0.053585s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.078307s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy.OneViewPeriodicTasks.test_node_manageable_maintenance_when_oneview_error [0.158334s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.064593s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_still_running [0.060839s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.022459s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_old_command [0.087083s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_deallocate_server_hardware_from_ironic [0.066752s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot [0.088595s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.087029s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_running [0.080604s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.091957s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.082863s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.027394s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_error [0.101475s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.021020s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.023161s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_configure_tenant_network_exception [0.097262s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_localboot [0.097235s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_deallocate_server_hardware_from_ironic_missing_profile_uuid [0.279601s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.097605s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_no_server_profile [0.055720s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.102213s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_image [0.100837s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.080685s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_is_node_in_use_by_oneview_same_server_profile_applied [0.060642s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.092634s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_deploy_utils.OneViewDeployUtilsTestCase.test_prepare_cleaning_when_node_has_sp_applied [0.061482s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.101871s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.102495s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device [0.066025s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_steps [0.078553s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.012386s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.068876s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.020257s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.017184s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.099326s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_invalid_device [0.067686s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.020313s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.067349s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.020820s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.013709s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.014455s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.073801s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.050739s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverFunctionsTestCase.test_set_boot_device_persistent [0.079291s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.040233s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.051382s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.020013s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.060339s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_management.OneViewManagementDriverTestCase.test_validate_fail [0.074729s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_version_mismatch [0.058121s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_proxies [0.075314s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot [0.065133s] ... ok {3} ironic.tests.unit.drivers.modules.oneview.test_power.OneViewPowerDriverTestCase.test_set_power_reboot [0.062499s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started [0.061188s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot [0.062206s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.086615s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.014210s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.018061s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.093068s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_did_start [0.055398s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.027960s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.016949s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.095902s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_other_commands [0.053520s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.028056s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.075859s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.021226s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.025197s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_race [0.051952s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.065190s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.039901s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.027455s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.057242s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.069746s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.038259s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.092248s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.030918s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.087051s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.078374s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.034436s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.028613s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.099035s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active [0.061367s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_fail [0.056455s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.036994s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.053622s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.089422s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.082037s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.028699s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.090532s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.068168s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.027431s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.034912s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_unknown [0.068960s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.033035s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.067618s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_none [0.083503s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_config [0.040360s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.015952s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.081003s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.014545s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.053114s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.021381s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.015935s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.093025s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.017995s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.079187s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.058373s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.023007s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.014742s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.016126s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.050334s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.075858s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.023649s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_fails [0.081991s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.049828s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.039876s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.026601s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off [0.083522s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.031899s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.118783s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.015370s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.086097s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.021714s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.018991s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_uefi [0.051444s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_doesnt_complete [0.076963s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.021582s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.092781s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.061219s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.084743s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.097905s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.099367s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_reboot [0.069964s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_post_clean_step_hook [0.020583s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean [0.081091s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.011982s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.009685s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.010346s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.060272s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.087679s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.016834s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.010342s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.009764s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.025386s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.063375s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.015709s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.011946s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.087414s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.022713s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.220174s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.017066s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.064098s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.012148s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.071127s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.032415s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.031682s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.102881s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.037154s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy [0.095673s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.131926s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.033277s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.011420s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.070859s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.031447s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.013999s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.014145s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_partition_image [0.107704s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id_extra [0.061435s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_running [0.060791s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.024844s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.021281s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.013529s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_custom_interface [0.052615s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_multiple_commands [0.076994s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.016444s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.013935s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.198995s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.021833s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.010795s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities [0.055237s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.011353s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.011230s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.029663s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.074166s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.015230s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.020259s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.017083s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities_none [0.055060s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.016568s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.015303s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.035251s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.019980s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.014012s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.058528s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.089075s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.014647s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.043514s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.030809s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.019592s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_is_standalone [0.028337s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.023042s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.044617s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.018365s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.029174s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.019261s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.042650s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_ok [0.022836s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.023267s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.018729s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance [0.129153s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.036136s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.022005s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.023432s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.020299s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.009987s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.018222s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.022604s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.071699s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.021954s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.021631s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.018837s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.015390s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.146633s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.026774s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.077011s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.031695s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.091554s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.027904s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.059776s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.032971s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.029804s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overriden_default_value [0.034155s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.120012s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.029687s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.012685s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_dev [0.028582s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.012819s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy [0.079385s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.015227s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.013741s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.034256s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate [0.063238s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.028687s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_get_power_state_fails [0.074962s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_invalid_port [0.048135s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.039877s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.025996s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.040833s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.115258s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off_failed [0.074552s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.039219s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.071603s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.036512s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_fails [0.074527s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.024949s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.066563s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.026292s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection [0.015935s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.014309s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.064761s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.052216s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonsupported_image [0.088546s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.051164s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.308701s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.008387s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.009864s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.014452s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.013349s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.117474s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.097541s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.024928s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.037846s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.340248s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.061826s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.115760s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.153027s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.040657s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.037695s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_start_console [0.091103s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.031515s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.201137s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.051981s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.014302s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console [0.089626s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.015148s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.013810s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.013776s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.091821s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.016094s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.219983s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps [0.079745s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.136381s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_interface [0.067914s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.012241s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.032191s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.015121s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.017839s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.283832s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.016907s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.103679s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.021470s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.024449s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.017971s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.020443s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.019645s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.026143s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.079206s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.017859s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.024101s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.016016s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.014034s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.021963s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.021998s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.033919s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.074751s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.037989s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.054520s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.030265s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.080392s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.017616s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.472416s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.029767s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.021356s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.056810s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.019960s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.017590s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.024276s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.081235s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.071680s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.013944s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.079757s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.014772s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.032267s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.018279s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.038672s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.030994s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.022870s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_get_clean_steps [0.070268s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.022712s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.031547s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.043556s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.030110s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_service_url [0.024401s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.027427s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.021659s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.041720s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.029771s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_error [0.032049s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step [0.068274s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.040643s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_ok [0.023791s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.018517s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.034211s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.023292s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.081192s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_missing_steps [0.064073s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.034580s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.032405s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.037453s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.022907s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.042287s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.071577s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.043085s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.028097s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.016856s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.031090s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.014803s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.017578s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.036542s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.071310s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.011887s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.029025s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.012912s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.036227s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.016815s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.015015s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.111075s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.009945s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.021660s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.034483s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.020740s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled_disabled [0.027264s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.018383s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.034092s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_init_inspector_not_imported [0.018385s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.021130s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.019283s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_is_standalone [0.027183s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd_without_user [0.095706s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.020624s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_url [0.025208s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.021347s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.021244s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.098461s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.018336s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console [0.075046s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.033715s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.042632s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.036358s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.038160s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.072367s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.078321s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.057441s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_ok [0.094150s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.245686s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.066226s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.008772s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.082251s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.009944s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.072112s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.010840s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.009964s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.026824s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.023820s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__get_ipmi_cmd [0.085466s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.100205s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.020877s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.010067s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.032117s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_force_set_boot_device_ok [0.124573s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.035134s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.010969s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.010098s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.078714s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.011924s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_empty_password [0.101508s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_persistent [0.095587s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.074199s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.084925s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_missing_port [0.064332s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.063941s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.088263s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.089132s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.080006s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.067832s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_fail [0.097162s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.086288s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_console [0.080594s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.070745s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.025667s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_power_validate [0.089331s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.080217s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.074006s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.122281s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_off [0.086969s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.075226s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.068687s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.055105s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_ok [0.063587s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.062460s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.053551s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_timeout_ok [0.069092s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_stop_console_fail [0.055152s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.053261s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.055759s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_ok [0.065257s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.212754s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.051862s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.063694s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_ok [0.066892s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.052238s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.062636s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_ok [0.067196s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.078986s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.158584s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.066566s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.082927s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.071194s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.072790s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.029479s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.024723s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_non_retryable_failure [0.031307s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.081422s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.077332s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retry [0.040462s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.VirtualMediaDeployUtilsTestCase.test_get_single_nic_with_vif_port_id [0.062347s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.024163s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.073628s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.043370s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.018869s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.071631s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.020631s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.031284s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.016850s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.011747s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.029614s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.077535s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.013087s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.064540s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.019931s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.032704s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.024640s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.023358s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.056789s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_create_if_enabled [0.019882s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.017867s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.029128s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.096151s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_disabled [0.015586s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.DisabledTestCase.test_enabled [0.014749s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.034117s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.011894s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.011581s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.032108s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.020932s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.026068s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.021296s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.020492s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.028799s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.126067s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.022673s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.181817s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.021158s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_cold [0.063215s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.051653s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail [0.056978s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.026271s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.115599s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.019658s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__bmc_reset_fail [0.064331s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.021362s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__start_console_fail_nodir [0.058867s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.037219s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.025698s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.045989s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.071363s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.053584s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.060898s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.019209s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.059249s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.057505s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.055237s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_failed [0.021042s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_fail [0.054656s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.041013s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.055175s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.014256s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.064300s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_force_boot_device_persistent [0.051223s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.060116s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_properties [0.020284s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.074836s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.060450s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device_fail [0.056939s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.073618s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.042542s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.080014s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_inject_nmi_ok [0.055154s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.054885s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.049490s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_bad_device [0.055371s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.041147s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.053095s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.106510s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.053300s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.051609s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state [0.077034s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_ok [0.054438s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi [0.054183s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_power_state_exception [0.084422s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.146989s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_fail [0.058275s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_boot_device [0.086647s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_ok [0.060443s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.110061s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.270438s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_ok [0.054568s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_get_supported_boot_devices [0.083219s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.057386s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_returns [0.053720s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.139669s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_invalid_state [0.049190s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.090736s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.057902s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.051917s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_off_ok [0.065183s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_timeout_fail [0.084482s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.057718s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_fail [0.058501s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_send_raw_bytes_fail [0.075070s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.053816s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_fail [0.058790s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.025527s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception_retries_exceeded [0.023562s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.023498s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_timeout_ok [0.058583s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot [0.086109s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.041603s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.025105s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_reboot_timeout_fail [0.069281s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.026462s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.083567s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.024743s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.056929s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.022116s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.402763s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.022742s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.022619s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.024215s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.028771s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.023455s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.024101s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.149373s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.196430s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.082412s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_driver_routes [0.052062s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.076558s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.295650s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.057315s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.066204s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.076897s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__parse_ipmi_sensor_data_ok [0.018563s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.089878s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.055302s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.067475s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.050094s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.091920s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.083228s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.055589s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.051871s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.083123s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_dump_sdr_ok [0.054541s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.055646s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.085280s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.053025s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.075988s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe [0.090424s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.081401s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_persistent [0.062012s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.052962s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.057986s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_ipxe_timeout [0.087229s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_management_interface_validate_good [0.051233s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot [0.117361s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.103027s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_already_off [0.055301s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot [0.113170s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.093410s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.089589s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_reboot_fail_power_on [0.053917s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_wdi [0.087359s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_timeout_ok [0.054692s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.065708s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.072259s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.018862s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.019203s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_without_is_whole_disk_image [0.072438s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.008675s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_power_on_with_next_boot_timeout [0.067313s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.064797s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.009512s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel_ipxe [0.033509s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.041739s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.021851s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_set_soft_power_off_ok [0.061550s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_localboot [0.031931s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_whole_disk_image [0.023437s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_is_force_persistent_boot_device_enabled [0.067016s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.127329s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.080682s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_additional_volume_type [0.064094s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_local_boot [0.071255s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_vendor_passthru_vendor_routes [0.045418s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.062918s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options_unsupported_volume_type [0.066254s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.050136s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.057858s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.069222s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info [0.022747s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.021231s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_kernel [0.027133s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.028594s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.030026s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__parse_driver_info_missing_deploy_ramdisk [0.024590s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.032942s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot_uefi [0.080091s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.024379s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.042502s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.022923s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.028367s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.016701s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.020105s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.019870s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.122467s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_netboot [0.078107s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.016340s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.026055s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.016363s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.022298s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.035521s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.015575s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.027665s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.012678s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.013392s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.033253s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.026241s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.013809s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.011712s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.031558s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false [0.105099s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.016123s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.032793s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.012605s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.026159s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.013488s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.029306s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.011710s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.017865s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.013103s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.030203s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.012612s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.014861s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.026228s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.108633s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.018477s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.073813s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.029277s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.015566s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.015224s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.026312s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.016746s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.017706s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.024259s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.017408s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.027332s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.013353s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.014856s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.111415s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.014277s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.141119s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.042728s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.014359s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.024558s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.021546s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.048314s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.028485s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.100168s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.026193s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.052840s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.129635s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.030356s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.052781s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.024687s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.046938s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.026016s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.110918s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.024060s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_timeout [0.055803s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.023927s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.051749s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.090532s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.055397s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.011950s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.027690s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.015212s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.053732s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.012054s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.025364s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.108712s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_password [0.042132s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.050971s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_ipa_debug [0.064797s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.013784s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_username [0.042916s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe_ipa_debug [0.054175s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.089644s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.017451s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.074025s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_tftp_images_master_path [0.029756s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_down [0.062577s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.026829s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info_deploy_ramdisk [0.029056s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.021212s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.014694s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_error [0.058290s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info [0.034948s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.017507s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.083756s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.016709s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_properties [0.044353s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.016134s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.014623s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_volume_pxe_options [0.069642s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.022355s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot__wait_state_change_fail [0.072911s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_iscsi [0.113540s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1 [0.037639s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_ok_logout [0.084403s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.035011s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state [0.071641s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm [0.064055s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.028679s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.105289s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.026124s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_fail [0.071104s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_logout [0.054891s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.030364s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.014447s] ... ok {0} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate [0.044550s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.015375s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.008311s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.008542s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.017868s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.007683s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.010816s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.019183s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.121427s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.021763s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.017170s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device_fail [0.102271s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.008272s] ... ok {0} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_driver [0.014077s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.024364s] ... ok {0} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test_pxe_drac_inspector_driver [0.013967s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_up [0.077835s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_agent [0.063372s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.127103s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.061654s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_and_wait_for_state_change_fail [0.084990s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_driver_interfaces [0.016180s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.068095s] ... ok {0} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_fail [0.022563s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.028640s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_set_power_state_invalid_state [0.069912s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.015526s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.065635s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.255413s] ... ok {1} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_validate_fail [0.056711s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.017572s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.014591s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.069671s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_agent_driver [0.003747s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.062892s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___try_import_exception [0.001888s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_not_mounted_exception [0.002425s] ... ok {0} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver [0.002837s] ... ok {0} ironic.tests.unit.drivers.test_oneview.ISCSIPXEOneViewDriversTestCase.test_oneview_iscsi_driver_exc [0.001443s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.024833s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.025919s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables_immutable [0.011543s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.021143s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBaseDriver.test_class_variables_immutable [0.013381s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.016903s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.025748s] ... ok {0} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_with_inspector_interface_enabled [0.058409s] ... ok {0} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver_import_error [0.001681s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.074207s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.024068s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.016196s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.015870s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.014322s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.021334s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.027631s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.064823s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.019151s] ... ok {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.091664s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_deploy_interface [0.018714s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.054802s] ... ok {1} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_power_interface [0.022123s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.057631s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.020671s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.088839s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.056362s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.065306s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.014731s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.086715s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_local_boot [0.066828s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver [0.014866s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaIscsiDriversTestCase.test_ilo_iscsi_driver_exc [0.005972s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_driver [0.002015s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.028761s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_agent_ipmitool_socat_driver [0.006140s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.069547s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.016995s] ... ok {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.011545s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_ipxe_swift_partition [0.060375s] ... ok {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.018163s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.012797s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.015154s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.014916s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.080352s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__build_pxe_config_options_pxe [0.067404s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.016110s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.013067s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__cache_ramdisk_kernel [0.027556s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.015851s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.013759s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_deploy_image_info [0.023077s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.158028s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.066556s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test__get_instance_image_info_without_is_whole_disk_image [0.036362s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.020773s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.051358s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.008043s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEPrivateMethodsTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.025233s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.012565s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.025019s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.075967s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.011329s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version_subset_of_fields [0.021001s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.029929s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.012521s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.011910s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.022933s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.012209s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.033338s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.012956s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.028244s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.012432s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.033310s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.023203s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.097803s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.024954s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.022092s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.022755s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.017085s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_connect_ucsm_fail [0.071223s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.019306s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.032686s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.084736s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_not_mounted_exception [0.002239s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.023654s] ... ok {1} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver [0.004453s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.036756s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_boot_device [0.066342s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.023194s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.022454s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_properties [0.020847s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.020558s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.023128s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_sensors_data [0.020421s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.022740s] ... ok {1} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_direct [0.067417s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_cimc_driver [0.002546s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver [0.003701s] ... ok {1} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver_import_error [0.003049s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.031890s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.024738s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.019277s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_get_supported_boot_devices [0.052346s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.022683s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.023019s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.022360s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.065767s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.022249s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.022059s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.018723s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device_fail [0.071620s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.024880s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.022657s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.062037s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.022714s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.020938s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.021570s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.026660s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_get_power_state_fail [0.058018s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.027443s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.022362s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.011698s] ... ok {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.015321s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.027049s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.016430s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.069489s] ... ok {2} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot_fail [0.066407s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.025986s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.010258s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.020652s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.031076s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.008967s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.008249s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.027626s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.010141s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.008842s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.034454s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.008680s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.058846s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.020175s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.023800s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.008724s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.022817s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.010565s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.010589s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.078727s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.025468s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_valid_methods [0.057807s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.015160s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.025529s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.015122s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.016907s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.014474s] ... ok {2} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_override_with_cimc_interfaces [0.062472s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.015011s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.079275s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.028317s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.008658s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.008200s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.008861s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.007994s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.007796s] ... ok {2} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_default_interfaces [0.062574s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.039224s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.016512s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.019729s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.015961s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.082522s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.018510s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.027786s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.018987s] ... ok {2} ironic.tests.unit.drivers.test_cisco.CiscoUCSStandaloneHardwareTestCase.test_override_with_ipmi_interfaces [0.063903s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.015992s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.010042s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.018252s] ... ok {2} ironic.tests.unit.drivers.test_drac.DracClassicDriversTestCase.test___init___try_import_dracclient_failure [0.014022s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.013989s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.017707s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.007734s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_get_properties [0.021040s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.007796s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.017569s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.007758s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_supported_boot_devices [0.017433s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_no_version [0.008857s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.007896s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.017971s] ... ok {2} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_validate [0.017352s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.007504s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_socat_driver [0.002027s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_security [0.013720s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.009481s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.008603s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.007784s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.007553s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.008929s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.009049s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.009242s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.065191s] ... ok {2} ironic.tests.unit.drivers.test_oneview.AgentPXEOneViewDriversTestCase.test_oneview_agent_driver_exc [0.001873s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.010499s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.010498s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsCommonMethodsTestcase.test_requires_ucs_client_fail_logout [0.082029s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.010466s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.010522s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.009711s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.010482s] ... ok {2} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_default_interfaces [0.068959s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ilo_driver_import_error [0.001786s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.008223s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver [0.002077s] ... ok {2} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_ucs_driver [0.002822s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.010564s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info [0.064533s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.010606s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.011798s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.017027s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.011372s] ... ok {2} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.066630s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.017493s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.013527s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_address [0.072577s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.021587s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.035264s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.015851s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.014877s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.020929s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.015017s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_helper.UcsValidateParametersTestCase.test_parse_driver_info_missing_service_profile [0.069670s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.015036s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.022477s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.018647s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.020520s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.015517s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.019690s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.016136s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.019167s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.014696s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.014656s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.019658s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.011331s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.019987s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_management.UcsManagementTestCase.test_set_boot_device [0.107865s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.016150s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.015245s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.014825s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.015507s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.014817s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_already_target_state [0.049450s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.028166s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.021528s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.016746s] ... ok {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.008742s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test__wait_for_state_change_exceed_iterations [0.046546s] ... ok {2} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.009565s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.015474s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.016083s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.014109s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.008232s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.009837s] ... ok {3} ironic.tests.unit.drivers.modules.ucs.test_power.UcsPowerTestCase.test_reboot [0.071849s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.010838s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.011003s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.009813s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.011027s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.009088s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.010400s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.012060s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.012356s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.009905s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.010876s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.009921s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.008210s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.013711s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.009055s] ... ok {3} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.013009s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.010038s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.007957s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.009902s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.012687s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.008176s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.009475s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.014301s] ... ok {3} ironic.tests.unit.drivers.test_cisco.CiscoUCSManagedHardwareTestCase.test_default_interfaces [0.083375s] ... ok {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.017376s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.015868s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.017844s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.017536s] ... ok {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.089702s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.042668s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_boot_interface [0.021423s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.018823s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_console_interface [0.022724s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.019602s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_inspect_interface [0.019425s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.017904s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.011394s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_boot_device [0.018696s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_get_properties [0.020104s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.019363s] ... ok {3} ironic.tests.unit.drivers.test_fake.FakeDriverTestCase.test_management_interface_set_boot_device_good [0.019239s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.087915s] ... ok {3} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.078888s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.077574s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloVirtualMediaAgentDriversTestCase.test_ilo_iscsi_driver_exc [0.002006s] ... ok {3} ironic.tests.unit.drivers.test_ipmi.IPMIClassicDriversTestCase.test_pxe_ipmitool_driver [0.002171s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaAgentTestCase.test___init___share_fs_mounted_ok [0.003783s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___share_fs_mounted_ok [0.003011s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCVirtualMediaIscsiTestCase.test___init___try_import_exception [0.000965s] ... ok {3} ironic.tests.unit.drivers.test_oneview.OneViewHardwareTestCase.test_override_with_iscsi [0.061765s] ... ok {3} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver [0.002649s] ... ok {3} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_irmc_driver_import_error [0.002049s] ... ok {3} ironic.tests.unit.drivers.test_pxe.PXEDriversTestCase.test_pxe_snmp_driver_import_error [0.002155s] ... ok {3} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.061878s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.011656s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.014361s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.009756s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.049565s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.065620s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_get_properties [0.020343s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_vendor_interface_validate_bad_method [0.051072s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.015348s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.011784s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.021814s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.016685s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.018986s] ... ok {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.009424s] ... ok {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.010665s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.009348s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.008712s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.009155s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.008465s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.015942s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.012405s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.019596s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.019534s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.008429s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.010113s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.011068s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.010141s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.011048s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.009435s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.010064s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.009069s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.009626s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.013458s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.008945s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.009886s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.009596s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.009926s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.011386s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.011888s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.010078s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.022770s] ... ok {3} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.010639s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.011179s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.011122s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.010284s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.013465s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.010295s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.010624s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.013002s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.014506s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.016689s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.012131s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.016441s] ... ok {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.028196s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.016110s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.017216s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.015351s] ... ok ====== Totals ====== Ran: 4384 tests in 81.0000 sec. - Passed: 4372 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 257.0347 sec. ============== Worker Balance ============== - Worker 0 (1096 tests) => 0:01:04.174009 - Worker 1 (1096 tests) => 0:01:04.711641 - Worker 2 (1096 tests) => 0:01:05.116146 - Worker 3 (1096 tests) => 0:01:07.046856 Test id Runtime (s) ------------------------------------------------------------------------------------------------------------------------------------- ----------- ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state 1.906 ironic.tests.unit.conductor.test_manager.DoNodeDeployTearDownTestCase.test__do_node_tear_down_from_valid_states 1.110 ironic.tests.unit.api.v1.test_nodes.TestPost.test_create_node_specify_interfaces 0.595 ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node 0.486 ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance 0.482 ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi 0.472 ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning 0.468 ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked 0.465 ironic.tests.unit.api.v1.test_nodes.TestPatch.test_update_interface_fields 0.450 ironic.tests.unit.conductor.test_manager.ManagerCheckDeployingStatusTestCase.test__check_deploying_status_release_exceptions_skipping 0.443 Slowest Tests: make[1]: Leaving directory '/<>' fakeroot debian/rules binary pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' dh binary --with python2,systemd dh_testroot dh_prep dh_installdirs dh_auto_install pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions python setup.py install --force --root=/<>/debian/tmp --no-compile -O0 --install-layout=deb /usr/lib/python2.7/dist-packages/setuptools/dist.py:350: UserWarning: The version specified ('9.1.2.dev19.201710311400.artful') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details. "details." % self.metadata.version running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running build running build_py running egg_info writing requirements to ironic.egg-info/requires.txt writing ironic.egg-info/PKG-INFO writing top-level names to ironic.egg-info/top_level.txt writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt [pbr] Reusing existing SOURCES.txt running install_lib creating /<>/debian/tmp creating /<>/debian/tmp/usr creating /<>/debian/tmp/usr/lib creating /<>/debian/tmp/usr/lib/python2.7 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/plugin.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common/waiters.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/common/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1 copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/v1/json/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/services/baremetal/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/README.rst -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/baremetal_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/api_microversion_fixture.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_nodestates.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_nodes.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_drivers.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_portgroups.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/tests/api/admin/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin copying build/lib.linux-x86_64-2.7/ironic_tempest_plugin/clients.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic_tempest_plugin creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/task_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/base_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/rpcapi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/conductor/notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conductor copying build/lib.linux-x86_64-2.7/ironic/version.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ko_KR creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/ko_KR/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/fr/LC_MESSAGES/ironic-log-info.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/ja/LC_MESSAGES/ironic.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/pt_BR creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES copying build/lib.linux-x86_64-2.7/ironic/locale/pt_BR/LC_MESSAGES/ironic-log-critical.po -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/policy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/rpc_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/i18n.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/profiler.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/rpc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/dhcp_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/boot_devices.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/hash_ring.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/keystone.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/network.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/release_mappings.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/grub_conf.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/fsm.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/wsgi_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/isolinux_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/driver_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/exception.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/service_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1/image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1 creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2/image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/v2/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2 copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/base_image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/glance_service/service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common/glance_service copying build/lib.linux-x86_64-2.7/ironic/common/service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/images.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/pxe_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/states.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/swift.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/common/context.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/common copying build/lib.linux-x86_64-2.7/ironic/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/app.wsgi -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/middleware/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/middleware/auth_token.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/middleware/parsable_error.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/middleware copying build/lib.linux-x86_64-2.7/ironic/api/app.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/expose.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api copying build/lib.linux-x86_64-2.7/ironic/api/hooks.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/controllers/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/controllers/root.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/volume.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/port.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/state.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/versions.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/types.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/ramdisk.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/portgroup.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/collection.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/v1/driver.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers/v1 copying build/lib.linux-x86_64-2.7/ironic/api/controllers/link.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/controllers/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api/controllers copying build/lib.linux-x86_64-2.7/ironic/api/config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/fake.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/hardware_type.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/fake_hardware.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/oneview.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/raid_config_schema.json -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/ipmi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/ilo.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/irmc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/cisco_ucs.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/boot.ipxe -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/image_cache.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/fake.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/flat.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/network/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/network creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/irmc/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage/cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/storage/noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent_client.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/master_grub_cfg.txt -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/firmware_processor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/console.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ilo/vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/agent_base_vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/redfish/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/inspector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/vendor_passthru.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/bios.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/job.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/drac/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/iscsi_deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/console_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/oneview/deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ipxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/cimc/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/pxe_grub_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ipmitool.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/helper.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/ucs/power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/drivers/modules/elilo_efi_pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/drivers/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/drac.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/generic.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/redfish.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers copying build/lib.linux-x86_64-2.7/ironic/drivers/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/fields.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/port.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/portgroup.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/indirection.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/notification.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects copying build/lib.linux-x86_64-2.7/ironic/objects/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/objects creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests copying build/lib.linux-x86_64-2.7/ironic/tests/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/functional copying build/lib.linux-x86_64-2.7/ironic/tests/functional/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/functional copying build/lib.linux-x86_64-2.7/ironic/tests/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit copying build/lib.linux-x86_64-2.7/ironic/tests/unit/stubs.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_rpcapi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_task_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test__mgr_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/mgr_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conductor/test_base_manager.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor copying build/lib.linux-x86_64-2.7/ironic/tests/unit/policy_fixture.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_wsgi_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_network.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_context.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_pxe_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_rpc_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_exception.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_hash_ring.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_images.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_glance_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_release_mappings.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_states.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_fsm.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_swift.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_rpc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_driver_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_image_service.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_keystone.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/common/test_policy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/common copying build/lib.linux-x86_64-2.7/ironic/tests/unit/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_middleware.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_audit.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_ospmiddleware.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_acl.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_notification_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_expose.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_volume.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_ramdisk.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_volume_connectors.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_versions.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_nodes.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_drivers.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_types.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_volume_targets.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_portgroups.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/v1/test_root.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1 copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_hooks.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/test_root.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/api/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/api copying build/lib.linux-x86_64-2.7/ironic/tests/unit/raid_constants.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/boot.ipxe -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_drac.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_cisco.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_fake.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_ipmi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_generic.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_volumes.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_irmc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/third_party_driver_mocks.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/pxe_grub_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_oneview.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_redfish.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_image_cache.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_flat.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/network/test_noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/test_boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/storage/test_cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_inspector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_console.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ilo/test_boot.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/redfish/test_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_bios.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_raid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/drac/test_job.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_inspect.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/oneview/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_ipmitool.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_console_utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/cimc/test_common.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_agent_client.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_noop.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/test_pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/test_helper.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/test_management.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/modules/ucs/test_power.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/ipxe_config_timeout.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/test_ilo.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers copying build/lib.linux-x86_64-2.7/ironic/tests/unit/drivers/elilo_efi_pxe_config.template -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_port.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_portgroup.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_volume_target.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_objects.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_volume_connector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_fields.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/test_notification.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects copying build/lib.linux-x86_64-2.7/ironic/tests/unit/objects/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/objects creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd copying build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd copying build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd/test_conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd copying build/lib.linux-x86_64-2.7/ironic/tests/unit/cmd/test_dbsync.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp copying build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp copying build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp/test_factory.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp copying build/lib.linux-x86_64-2.7/ironic/tests/unit/dhcp/test_neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_volume_connectors.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/test_api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/sqlalchemy/test_types.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_nodes.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_volume_targets.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_chassis.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/utils.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_portgroups.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/test_node_tags.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db copying build/lib.linux-x86_64-2.7/ironic/tests/unit/db/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conf copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conf/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conf copying build/lib.linux-x86_64-2.7/ironic/tests/unit/conf/test_auth.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/tests/unit/conf creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/dbsync.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd copying build/lib.linux-x86_64-2.7/ironic/cmd/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/cmd creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/none.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp copying build/lib.linux-x86_64-2.7/ironic/dhcp/base.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/dhcp creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db copying build/lib.linux-x86_64-2.7/ironic/db/migration.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db copying build/lib.linux-x86_64-2.7/ironic/db/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/migration.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/env.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/script.py.mako -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic/README -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/models.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/sqlalchemy/alembic.ini -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy copying build/lib.linux-x86_64-2.7/ironic/db/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/db creating /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/glance.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/opts.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/agent.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/conductor.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/__init__.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/cinder.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/audit.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/oneview.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/metrics.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/pxe.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/inspector.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/database.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/api.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/default.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/iscsi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/console.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/keystone.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/ipmi.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/metrics_statsd.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/neutron.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/dhcp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/ilo.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/irmc.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/service_catalog.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/snmp.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/cisco.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/auth.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/drac.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/swift.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/redfish.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf copying build/lib.linux-x86_64-2.7/ironic/conf/deploy.py -> /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic/conf running install_egg_info Copying ironic.egg-info to /<>/debian/tmp/usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info Skipping SOURCES.txt running install_scripts Installing ironic-rootwrap script to /<>/debian/tmp/usr/bin Installing ironic-dbsync script to /<>/debian/tmp/usr/bin Installing ironic-conductor script to /<>/debian/tmp/usr/bin Installing ironic-api script to /<>/debian/tmp/usr/bin debian/rules override_dh_install make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' cp etc/ironic/ironic.conf.sample etc/ironic/ironic.conf dh_install --fail-missing dh_install: Please use dh_missing --list-missing/--fail-missing instead dh_install: This feature will be removed in compat 11. make[1]: Leaving directory '/<>' dh_installdocs debian/rules override_dh_installchangelogs make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' if [ -e /<>/debian/CHANGELOG ] ; then \ dh_installchangelogs /<>/debian/CHANGELOG ; \ else \ dh_installchangelogs ; \ fi make[1]: Leaving directory '/<>' dh_python2 debian/rules override_dh_systemd_enable make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done + ls -1 debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in// + MYINIT=debian/ironic-api + cp debian/ironic-api.init.in debian/ironic-api.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in// + MYINIT=debian/ironic-conductor + cp debian/ironic-conductor.init.in debian/ironic-conductor.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-conductor.init.in # If there's an upstart.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.upstart.in` ; do \ MYPKG=`echo $i | sed s/.upstart.in//` ; \ cp $MYPKG.upstart.in $MYPKG.upstart ; \ done + ls -1 debian/*.upstart.in ls: cannot access 'debian/*.upstart.in': No such file or directory # Generate the upstart job if there's no already existing .upstart.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.upstart.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-upstart-job $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-api.upstart.in + [ -e debian/ironic-api.upstart.in ] + pkgos-gen-upstart-job debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-conductor.upstart.in + [ -e debian/ironic-conductor.upstart.in ] + pkgos-gen-upstart-job debian/ironic-conductor.init.in # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done + ls -1 debian/*.service.in ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in/.service.in/ + MYINIT=debian/ironic-api.service.in + [ -e debian/ironic-api.service.in ] + pkgos-gen-systemd-unit debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in/.service.in/ + MYINIT=debian/ironic-conductor.service.in + [ -e debian/ironic-conductor.service.in ] + pkgos-gen-systemd-unit debian/ironic-conductor.init.in dh_systemd_enable make[1]: Leaving directory '/<>' debian/rules override_dh_installinit make[1]: Entering directory '/<>' pyversions: missing X(S)-Python-Version in control file, fall back to debian/pyversions pyversions: missing debian/pyversions file, fall back to supported versions py3versions: no X-Python3-Version in control file, using supported versions debian/rules:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done + ls -1 debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in// + MYINIT=debian/ironic-api + cp debian/ironic-api.init.in debian/ironic-api.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in// + MYINIT=debian/ironic-conductor + cp debian/ironic-conductor.init.in debian/ironic-conductor.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/ironic-conductor.init.in # If there's an upstart.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.upstart.in` ; do \ MYPKG=`echo $i | sed s/.upstart.in//` ; \ cp $MYPKG.upstart.in $MYPKG.upstart ; \ done + ls -1 debian/*.upstart.in ls: cannot access 'debian/*.upstart.in': No such file or directory # Generate the upstart job if there's no already existing .upstart.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.upstart.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-upstart-job $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + echo debian/ironic-api.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-api.upstart.in + [ -e debian/ironic-api.upstart.in ] + pkgos-gen-upstart-job debian/ironic-api.init.in + echo debian/ironic-conductor.init.in + sed s/.init.in/.upstart.in/ + MYINIT=debian/ironic-conductor.upstart.in + [ -e debian/ironic-conductor.upstart.in ] + pkgos-gen-upstart-job debian/ironic-conductor.init.in # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done + ls -1 debian/*.service.in ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done + ls debian/ironic-api.init.in debian/ironic-conductor.init.in + + sed s/.init.in/.service.in/ echo debian/ironic-api.init.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:20: warning: overriding recipe for target 'get-orig-source' /usr/share/openstack-pkg-tools/pkgos.make:77: warning: ignoring old recipe for target 'get-orig-source' if dpkg-vendor --derives-from ubuntu ; then \ dh_gencontrol -- -T/<>/debian/ubuntu_control_vars ; \ else \ dh_gencontrol -- -T/<>/debian/debian_control_vars ; \ fi dpkg-gencontrol: warning: 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 131 INFO: pkgstriptranslations version 131 INFO: pkgstriptranslations version 131 INFO: pkgstriptranslations version 131 INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgstriptranslations for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgmaintainermangler for PPA build INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'python-ironic' in '../python-ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb'. INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'ironic-api' in '../ironic-api_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb'. INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'ironic-conductor' in '../ironic-conductor_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb'. INFO: Disabling pkgstripfiles for PPA build dpkg-deb: building package 'ironic-common' in '../ironic-common_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary -mLaunchpad Build Daemon >../ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build ironic-9.1.2.dev19.201710311400.artful dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 20171031-1412 Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Post Build Chroot | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_amd64.changes: -------------------------------------------------------------- Format: 1.8 Date: Tue, 31 Oct 2017 14:02:06 +0000 Source: ironic Binary: python-ironic ironic-common ironic-api ironic-conductor Architecture: all Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Distribution: artful Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Openstack Ubuntu Testing Bot Description: ironic-api - Openstack bare metal provisioning service - API ironic-common - Openstack bare metal provisioning service - daemons ironic-conductor - Openstack bare metal provisioning service - conductor python-ironic - Openstack bare metal provisioning service - Python library Changes: ironic (1:9.1.2.dev19.201710311400.artful-0ubuntu1) artful; urgency=medium . * Automated Ubuntu testing build: * [a595258] Add job definitions yaml to zuul configuration Checksums-Sha1: 78b8cb49f415860797b372bf5ac0f4f2ecd660ab 8210 ironic-api_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb cd3def26cc712f31544a3a194263abf63cb65f4c 31724 ironic-common_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb 27fe2272bef721e7a2d80a02c322dccdee8af886 8226 ironic-conductor_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb 85d7893c73ffa3dda706c0a11facc8c835bec8dc 16973 ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_amd64.buildinfo a458337fcde2c709b63de0d7ac62c95eb4e635d6 610528 python-ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb Checksums-Sha256: f8b7e08001b985a16426f3937bc6035ff42104e367e995a8108749f4c80abee4 8210 ironic-api_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb 0532497ba7cc676bbca120f4eb0ccb25d09fcc689f8aab50a829ac6d02af8b1f 31724 ironic-common_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb 5288b67c508dbcb3a5553e4bdd90a27cca9b47c043d6ccc1c84cdb55d3d47988 8226 ironic-conductor_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb 6ac5b0b28c539000583972b5400f70123aa8c8616f77ad00413679b0e7ef1de0 16973 ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_amd64.buildinfo ee313f92b92a10dd574e1b25691ee7722b8a4ec00bff0d4fae3b7478580feb6d 610528 python-ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb Files: 8575af1688aecf3c0a6d2b0d20c6250b 8210 net extra ironic-api_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb 7b7e4f906fd7804b553fa6501e59678b 31724 net extra ironic-common_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb 614a81c4cf9e3da5d8281ee3cb1b3ce2 8226 net extra ironic-conductor_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb afc4f5a2e54991a79e29c283a4607a82 16973 net extra ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_amd64.buildinfo e7b77cd9d5e8f3650fabdf842d615318 610528 net extra python-ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ ironic-api_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb ----------------------------------------------------------- new debian package, version 2.0. size 8210 bytes: control archive=1509 bytes. 49 bytes, 2 lines conffiles 876 bytes, 20 lines control 273 bytes, 4 lines md5sums 1029 bytes, 25 lines * postinst #!/bin/sh 804 bytes, 28 lines * postrm #!/bin/sh 186 bytes, 7 lines * prerm #!/bin/sh Package: ironic-api Source: ironic Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 32 Depends: ironic-common (= 1:9.1.2.dev19.201710311400.artful-0ubuntu1), init-system-helpers (>= 1.18~), python:any Section: net Priority: extra Description: Openstack bare metal provisioning service - API Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the API. drwxr-xr-x root/root 0 2017-10-31 14:02 ./ drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/init.d/ -rwxr-xr-x root/root 4054 2017-10-31 14:02 ./etc/init.d/ironic-api drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/init/ -rw-r--r-- root/root 1195 2017-10-31 14:02 ./etc/init/ironic-api.conf drwxr-xr-x root/root 0 2017-10-31 14:02 ./lib/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./lib/systemd/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./lib/systemd/system/ -rw-r--r-- root/root 592 2017-10-31 14:02 ./lib/systemd/system/ironic-api.service drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/bin/ -rwxr-xr-x root/root 153 2017-10-31 14:02 ./usr/bin/ironic-api drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/ironic-api/ -rw-r--r-- root/root 3312 2017-10-31 14:02 ./usr/share/doc/ironic-api/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/ironic-api/copyright ironic-common_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb -------------------------------------------------------------- new debian package, version 2.0. size 31724 bytes: control archive=1167 bytes. 235 bytes, 7 lines conffiles 878 bytes, 20 lines control 268 bytes, 4 lines md5sums 554 bytes, 22 lines * postinst #!/bin/sh Package: ironic-common Source: ironic Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 150 Depends: adduser, psmisc, python-ironic (= 1:9.1.2.dev19.201710311400.artful-0ubuntu1), python:any Section: net Priority: extra Description: Openstack bare metal provisioning service - daemons Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the common files. drwxr-xr-x root/root 0 2017-10-31 14:02 ./ drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/ironic/ -rw-r--r-- root/root 120635 2017-10-31 14:02 ./etc/ironic/ironic.conf -rw-r--r-- root/root 113 2017-10-31 14:00 ./etc/ironic/policy.json -rw-r--r-- root/root 936 2017-10-31 14:00 ./etc/ironic/rootwrap.conf drwxr-xr-x root/root 0 2017-10-31 14:01 ./etc/ironic/rootwrap.d/ -rw-r--r-- root/root 212 2017-10-31 14:00 ./etc/ironic/rootwrap.d/ironic-images.filters -rw-r--r-- root/root 992 2017-10-31 14:00 ./etc/ironic/rootwrap.d/ironic-lib.filters -rw-r--r-- root/root 312 2017-10-31 14:00 ./etc/ironic/rootwrap.d/ironic-utils.filters drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/sudoers.d/ -r--r----- root/root 112 2017-10-31 14:02 ./etc/sudoers.d/ironic_sudoers drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/bin/ -rwxr-xr-x root/root 156 2017-10-31 14:02 ./usr/bin/ironic-dbsync -rwxr-xr-x root/root 156 2017-10-31 14:02 ./usr/bin/ironic-rootwrap drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/ironic-common/ -rw-r--r-- root/root 3312 2017-10-31 14:02 ./usr/share/doc/ironic-common/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/ironic-common/copyright drwxr-xr-x root/root 0 2017-10-31 14:02 ./var/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./var/lib/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./var/lib/ironic/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./var/log/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./var/log/ironic/ ironic-conductor_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb ----------------------------------------------------------------- new debian package, version 2.0. size 8226 bytes: control archive=1526 bytes. 61 bytes, 2 lines conffiles 916 bytes, 20 lines control 297 bytes, 4 lines md5sums 1071 bytes, 25 lines * postinst #!/bin/sh 828 bytes, 28 lines * postrm #!/bin/sh 198 bytes, 7 lines * prerm #!/bin/sh Package: ironic-conductor Source: ironic Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 32 Depends: ipmitool (>= 1.8.12), ironic-common (= 1:9.1.2.dev19.201710311400.artful-0ubuntu1), init-system-helpers (>= 1.18~), python:any Section: net Priority: extra Description: Openstack bare metal provisioning service - conductor Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the conductor. drwxr-xr-x root/root 0 2017-10-31 14:02 ./ drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/init.d/ -rwxr-xr-x root/root 4070 2017-10-31 14:02 ./etc/init.d/ironic-conductor drwxr-xr-x root/root 0 2017-10-31 14:02 ./etc/init/ -rw-r--r-- root/root 1217 2017-10-31 14:02 ./etc/init/ironic-conductor.conf drwxr-xr-x root/root 0 2017-10-31 14:02 ./lib/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./lib/systemd/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./lib/systemd/system/ -rw-r--r-- root/root 596 2017-10-31 14:02 ./lib/systemd/system/ironic-conductor.service drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/bin/ -rwxr-xr-x root/root 159 2017-10-31 14:02 ./usr/bin/ironic-conductor drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/ironic-conductor/ -rw-r--r-- root/root 3312 2017-10-31 14:02 ./usr/share/doc/ironic-conductor/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/ironic-conductor/copyright python-ironic_9.1.2.dev19.201710311400.artful-0ubuntu1_all.deb -------------------------------------------------------------- new debian package, version 2.0. size 610528 bytes: control archive=14783 bytes. 2237 bytes, 20 lines control 54825 bytes, 507 lines md5sums 163 bytes, 9 lines * postinst #!/bin/sh 263 bytes, 14 lines * prerm #!/bin/sh Package: python-ironic Source: ironic Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Architecture: all Maintainer: Chuck Short Installed-Size: 5979 Depends: alembic (>= 0.8.4), python-automaton (>= 0.5.0), python-cinderclient (>= 1:3.1.0), python-eventlet (>= 0.18.2), python-futurist (>= 0.11.0), python-glanceclient (>= 1:2.8.0), python-ironic-lib (>= 2.0.0), python-jinja2 (>= 2.8), python-jsonpatch (>= 1.1), python-jsonschema (>= 2.0.0), python-keystoneauth1 (>= 3.1.0), python-keystonemiddleware (>= 4.0.0), python-neutronclient (>= 1:6.3.0), python-oslo.concurrency (>= 3.8.0), python-oslo.config (>= 1:4.0.0), python-oslo.context (>= 2.14.0), python-oslo.db (>= 4.24.0), python-oslo.i18n (>= 2.1.0), python-oslo.log (>= 3.16.0), python-oslo.messaging (>= 5.24.2), python-oslo.middleware (>= 3.27.0), python-oslo.policy (>= 1.23.0), python-oslo.reports (>= 0.6.0), python-oslo.rootwrap (>= 5.0.0), python-oslo.serialization (>= 1.10.0), python-oslo.service (>= 1.10.0), python-oslo.utils (>= 3.20.0), python-oslo.versionedobjects (>= 1.13.0), python-osprofiler (>= 1.11.0), python-paramiko (>= 2.0), python-pbr (>= 2.0.0), python-pecan (>= 1.1.2), python-psutil (>= 3.2.2), python-pymysql (>= 0.6.2), python-requests (>= 2.10.0), python-retrying (>= 1.2.3), python-rfc3986 (>= 0.3.1), python-sendfile (>= 2.0.0), python-six (>= 1.9.0), python-sqlalchemy (>= 1.0.10), python-stevedore (>= 1.20.0), python-swiftclient (>= 1:2.2.0), python-tooz (>= 1.47.0), python-tz (>= 2013.6), python-webob (>= 1.7.1), python-wsme (>= 0.8), python-alembic, python:any (<< 2.8), python:any (>= 2.7.5-5~) Section: net Priority: extra Description: Openstack bare metal provisioning service - Python library Ironic is an Incubated OpenStack project which aims to provision bare metal machines instead of virtual machines, forked from the Nova Baremetal driver. It is best thought of as a bare metal hypervisor **API** and a set of plugins which interact with the bare metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but Ironic also supports vendor-specific plugins which may implement additional functionality. . This package contains the Python libraries. drwxr-xr-x root/root 0 2017-10-31 14:02 ./ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/ -rw-r--r-- root/root 2352 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/PKG-INFO -rw-r--r-- root/root 1 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/dependency_links.txt -rw-r--r-- root/root 6693 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/entry_points.txt -rw-r--r-- root/root 1 2017-10-31 14:01 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/not-zip-safe -rw-r--r-- root/root 49 2017-10-31 14:01 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/pbr.json -rw-r--r-- root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/requires.txt -rw-r--r-- root/root 29 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic-9.1.2.dev19.201710311400.artful.egg-info/top_level.txt drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/api/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/__init__.py -rw-r--r-- root/root 3964 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/app.py -rw-r--r-- root/root 1045 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/app.wsgi -rw-r--r-- root/root 1352 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/config.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/__init__.py -rw-r--r-- root/root 3790 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/base.py -rw-r--r-- root/root 2030 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/link.py -rw-r--r-- root/root 3802 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/root.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/ -rw-r--r-- root/root 9293 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/__init__.py -rw-r--r-- root/root 14089 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/chassis.py -rw-r--r-- root/root 1718 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/collection.py -rw-r--r-- root/root 18125 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/driver.py -rw-r--r-- root/root 77643 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/node.py -rw-r--r-- root/root 7093 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/notification_utils.py -rw-r--r-- root/root 30830 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/port.py -rw-r--r-- root/root 24724 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/portgroup.py -rw-r--r-- root/root 6940 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/ramdisk.py -rw-r--r-- root/root 1083 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/state.py -rw-r--r-- root/root 10776 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/types.py -rw-r--r-- root/root 20567 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/utils.py -rw-r--r-- root/root 4486 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/versions.py -rw-r--r-- root/root 3524 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume.py -rw-r--r-- root/root 21274 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume_connector.py -rw-r--r-- root/root 21189 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/controllers/v1/volume_target.py -rw-r--r-- root/root 897 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/expose.py -rw-r--r-- root/root 6459 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/hooks.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/ -rw-r--r-- root/root 861 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/__init__.py -rw-r--r-- root/root 2281 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/auth_token.py -rw-r--r-- root/root 3876 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/api/middleware/parsable_error.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/cmd/ -rw-r--r-- root/root 1076 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/__init__.py -rw-r--r-- root/root 1711 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/api.py -rw-r--r-- root/root 3146 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/conductor.py -rw-r--r-- root/root 12834 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/cmd/dbsync.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/common/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/__init__.py -rw-r--r-- root/root 1284 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/boot_devices.py -rw-r--r-- root/root 18722 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/cinder.py -rw-r--r-- root/root 1222 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/config.py -rw-r--r-- root/root 2578 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/context.py -rw-r--r-- root/root 3709 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/dhcp_factory.py -rw-r--r-- root/root 23783 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/driver_factory.py -rw-r--r-- root/root 23059 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/exception.py -rw-r--r-- root/root 6041 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/fsm.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/__init__.py -rw-r--r-- root/root 6568 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/base_image_service.py -rw-r--r-- root/root 1431 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/service.py -rw-r--r-- root/root 7961 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/service_utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/__init__.py -rw-r--r-- root/root 1072 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v1/image_service.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/__init__.py -rw-r--r-- root/root 10410 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/glance_service/v2/image_service.py -rw-r--r-- root/root 158 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/grub_conf.template -rw-r--r-- root/root 2290 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/hash_ring.py -rw-r--r-- root/root 900 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/i18n.py -rw-r--r-- root/root 11275 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/image_service.py -rw-r--r-- root/root 22713 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/images.py -rw-r--r-- root/root 101 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/isolinux_config.template -rw-r--r-- root/root 4019 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/keystone.py -rw-r--r-- root/root 3949 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/network.py -rw-r--r-- root/root 20989 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/neutron.py -rw-r--r-- root/root 15304 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/policy.py -rw-r--r-- root/root 2455 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/profiler.py -rw-r--r-- root/root 14143 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/pxe_utils.py -rw-r--r-- root/root 5240 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/raid.py -rw-r--r-- root/root 5782 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/release_mappings.py -rw-r--r-- root/root 5220 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/rpc.py -rw-r--r-- root/root 3240 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/rpc_service.py -rw-r--r-- root/root 1272 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/service.py -rw-r--r-- root/root 12495 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/states.py -rw-r--r-- root/root 7189 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/swift.py -rw-r--r-- root/root 18304 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/utils.py -rw-r--r-- root/root 2316 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/common/wsgi_service.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/conductor/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/__init__.py -rw-r--r-- root/root 25273 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/base_manager.py -rw-r--r-- root/root 145725 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/manager.py -rw-r--r-- root/root 7492 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/notification_utils.py -rw-r--r-- root/root 45367 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/rpcapi.py -rw-r--r-- root/root 22392 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/task_manager.py -rw-r--r-- root/root 27329 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conductor/utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/conf/ -rw-r--r-- root/root 2325 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/__init__.py -rw-r--r-- root/root 4491 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/agent.py -rw-r--r-- root/root 3160 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/api.py -rw-r--r-- root/root 1533 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/audit.py -rw-r--r-- root/root 2018 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/auth.py -rw-r--r-- root/root 2090 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/cinder.py -rw-r--r-- root/root 1771 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/cisco.py -rw-r--r-- root/root 8312 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/conductor.py -rw-r--r-- root/root 2354 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/console.py -rw-r--r-- root/root 928 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/database.py -rw-r--r-- root/root 14838 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/default.py -rw-r--r-- root/root 4610 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/deploy.py -rw-r--r-- root/root 985 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/dhcp.py -rw-r--r-- root/root 1032 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/drac.py -rw-r--r-- root/root 8279 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/glance.py -rw-r--r-- root/root 4123 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/ilo.py -rw-r--r-- root/root 1451 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/inspector.py -rw-r--r-- root/root 2651 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/ipmi.py -rw-r--r-- root/root 3160 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/irmc.py -rw-r--r-- root/root 1028 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/iscsi.py -rw-r--r-- root/root 874 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/keystone.py -rw-r--r-- root/root 2383 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/metrics.py -rw-r--r-- root/root 1250 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/metrics_statsd.py -rw-r--r-- root/root 4108 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/neutron.py -rw-r--r-- root/root 2255 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/oneview.py -rw-r--r-- root/root 3641 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/opts.py -rw-r--r-- root/root 6403 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/pxe.py -rw-r--r-- root/root 1178 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/redfish.py -rw-r--r-- root/root 1102 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/service_catalog.py -rw-r--r-- root/root 1804 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/snmp.py -rw-r--r-- root/root 1121 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/conf/swift.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/db/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/__init__.py -rw-r--r-- root/root 33459 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/api.py -rw-r--r-- root/root 1560 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/migration.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/__init__.py -rw-r--r-- root/root 975 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic.ini drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/ -rw-r--r-- root/root 434 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/README -rw-r--r-- root/root 1971 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/env.py -rw-r--r-- root/root 349 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/script.py.mako drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/ -rw-r--r-- root/root 1192 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -rw-r--r-- root/root 2225 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -rw-r--r-- root/root 1040 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -rw-r--r-- root/root 1222 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -rw-r--r-- root/root 969 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -rw-r--r-- root/root 2060 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -rw-r--r-- root/root 1022 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -rw-r--r-- root/root 4331 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -rw-r--r-- root/root 1089 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -rw-r--r-- root/root 1096 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -rw-r--r-- root/root 1020 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -rw-r--r-- root/root 1074 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -rw-r--r-- root/root 929 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -rw-r--r-- root/root 1022 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -rw-r--r-- root/root 1208 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -rw-r--r-- root/root 1440 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -rw-r--r-- root/root 1314 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -rw-r--r-- root/root 950 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -rw-r--r-- root/root 1007 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -rw-r--r-- root/root 1523 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -rw-r--r-- root/root 2485 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -rw-r--r-- root/root 1005 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -rw-r--r-- root/root 1084 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -rw-r--r-- root/root 2044 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -rw-r--r-- root/root 1024 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -rw-r--r-- root/root 1929 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -rw-r--r-- root/root 1385 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -rw-r--r-- root/root 2057 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -rw-r--r-- root/root 1208 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -rw-r--r-- root/root 1009 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -rw-r--r-- root/root 988 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -rw-r--r-- root/root 1177 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -rw-r--r-- root/root 49679 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/api.py -rw-r--r-- root/root 3680 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/migration.py -rw-r--r-- root/root 10401 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/db/sqlalchemy/models.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/dhcp/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/__init__.py -rw-r--r-- root/root 3318 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/base.py -rw-r--r-- root/root 9865 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/neutron.py -rw-r--r-- root/root 936 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/dhcp/none.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/__init__.py -rw-r--r-- root/root 3084 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/agent.py -rw-r--r-- root/root 46482 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/base.py -rw-r--r-- root/root 1972 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/cisco_ucs.py -rw-r--r-- root/root 3336 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/drac.py -rw-r--r-- root/root 8708 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/fake.py -rw-r--r-- root/root 2474 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/fake_hardware.py -rw-r--r-- root/root 3539 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/generic.py -rw-r--r-- root/root 3991 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/hardware_type.py -rw-r--r-- root/root 4139 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/ilo.py -rw-r--r-- root/root 5029 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/ipmi.py -rw-r--r-- root/root 4258 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/irmc.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/__init__.py -rw-r--r-- root/root 30566 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent.py -rw-r--r-- root/root 29186 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_base_vendor.py -rw-r--r-- root/root 8386 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_client.py -rw-r--r-- root/root 480 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/agent_config.template -rw-r--r-- root/root 777 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/boot.ipxe drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/__init__.py -rw-r--r-- root/root 2709 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/common.py -rw-r--r-- root/root 6101 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/management.py -rw-r--r-- root/root 6610 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/cimc/power.py -rw-r--r-- root/root 13399 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/console_utils.py -rw-r--r-- root/root 53171 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/deploy_utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/__init__.py -rw-r--r-- root/root 6879 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/bios.py -rw-r--r-- root/root 5437 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/common.py -rw-r--r-- root/root 5745 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/inspect.py -rw-r--r-- root/root 2830 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/job.py -rw-r--r-- root/root 8856 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/management.py -rw-r--r-- root/root 6766 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/power.py -rw-r--r-- root/root 35257 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/raid.py -rw-r--r-- root/root 7523 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/drac/vendor_passthru.py -rw-r--r-- root/root 776 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/elilo_efi_pxe_config.template -rw-r--r-- root/root 7583 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/fake.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/__init__.py -rw-r--r-- root/root 25800 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/boot.py -rw-r--r-- root/root 31611 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/common.py -rw-r--r-- root/root 1882 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/console.py -rw-r--r-- root/root 17634 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/firmware_processor.py -rw-r--r-- root/root 11840 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/inspect.py -rw-r--r-- root/root 17982 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/management.py -rw-r--r-- root/root 8659 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/power.py -rw-r--r-- root/root 4406 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ilo/vendor.py -rw-r--r-- root/root 18019 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/image_cache.py -rw-r--r-- root/root 6964 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/inspector.py -rw-r--r-- root/root 55794 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ipmitool.py -rw-r--r-- root/root 1817 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ipxe_config.template drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/__init__.py -rw-r--r-- root/root 44568 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/boot.py -rw-r--r-- root/root 8924 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/common.py -rw-r--r-- root/root 6663 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/inspect.py -rw-r--r-- root/root 14532 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/management.py -rw-r--r-- root/root 12032 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/irmc/power.py -rw-r--r-- root/root 24846 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/iscsi_deploy.py -rw-r--r-- root/root 131 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/master_grub_cfg.txt drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/__init__.py -rw-r--r-- root/root 26181 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/common.py -rw-r--r-- root/root 5260 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/flat.py -rw-r--r-- root/root 7831 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/neutron.py -rw-r--r-- root/root 3748 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/network/noop.py -rw-r--r-- root/root 2308 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/noop.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/__init__.py -rw-r--r-- root/root 10263 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/common.py -rw-r--r-- root/root 12537 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/deploy.py -rw-r--r-- root/root 14841 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/deploy_utils.py -rw-r--r-- root/root 4309 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/inspect.py -rw-r--r-- root/root 9784 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/management.py -rw-r--r-- root/root 6780 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/oneview/power.py -rw-r--r-- root/root 26174 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe.py -rw-r--r-- root/root 736 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe_config.template -rw-r--r-- root/root 697 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/pxe_grub_config.template drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/__init__.py -rw-r--r-- root/root 6782 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/management.py -rw-r--r-- root/root 6498 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/power.py -rw-r--r-- root/root 9133 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/redfish/utils.py -rw-r--r-- root/root 26243 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/snmp.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/__init__.py -rw-r--r-- root/root 20168 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/cinder.py -rw-r--r-- root/root 938 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/storage/noop.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/__init__.py -rw-r--r-- root/root 4381 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/helper.py -rw-r--r-- root/root 5632 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/management.py -rw-r--r-- root/root 8253 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/modules/ucs/power.py -rw-r--r-- root/root 4292 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/oneview.py -rw-r--r-- root/root 6860 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/pxe.py -rw-r--r-- root/root 4128 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/raid_config_schema.json -rw-r--r-- root/root 1199 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/redfish.py -rw-r--r-- root/root 1121 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/snmp.py -rw-r--r-- root/root 12597 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/drivers/utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES/ -rw-r--r-- root/root 738 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES/ironic-log-critical.po -rw-r--r-- root/root 17284 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/fr/LC_MESSAGES/ironic-log-info.po drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ -rw-r--r-- root/root 789 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ironic-log-critical.po -rw-r--r-- root/root 79900 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/ja/LC_MESSAGES/ironic.po drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES/ -rw-r--r-- root/root 670 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/ko_KR/LC_MESSAGES/ironic-log-critical.po drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES/ -rw-r--r-- root/root 658 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/locale/pt_BR/LC_MESSAGES/ironic-log-critical.po drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/objects/ -rw-r--r-- root/root 1477 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/__init__.py -rw-r--r-- root/root 18662 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/base.py -rw-r--r-- root/root 10359 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/chassis.py -rw-r--r-- root/root 6820 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/conductor.py -rw-r--r-- root/root 4120 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/fields.py -rw-r--r-- root/root 2078 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/indirection.py -rw-r--r-- root/root 29894 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/node.py -rw-r--r-- root/root 7703 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/notification.py -rw-r--r-- root/root 17362 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/port.py -rw-r--r-- root/root 14982 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/portgroup.py -rw-r--r-- root/root 13116 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/volume_connector.py -rw-r--r-- root/root 14316 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/objects/volume_target.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/__init__.py -rw-r--r-- root/root 9038 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/base.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/functional/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/functional/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/ -rw-r--r-- root/root 1573 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/__init__.py -rw-r--r-- root/root 10456 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/base.py -rw-r--r-- root/root 4195 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_acl.py -rw-r--r-- root/root 1985 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_audit.py -rw-r--r-- root/root 5290 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_base.py -rw-r--r-- root/root 11219 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_hooks.py -rw-r--r-- root/root 4418 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_middleware.py -rw-r--r-- root/root 1464 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_ospmiddleware.py -rw-r--r-- root/root 3515 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/test_root.py -rw-r--r-- root/root 6430 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/__init__.py -rw-r--r-- root/root 27294 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_chassis.py -rw-r--r-- root/root 23848 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_drivers.py -rw-r--r-- root/root 2863 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_expose.py -rw-r--r-- root/root 193806 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_nodes.py -rw-r--r-- root/root 10401 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_notification_utils.py -rw-r--r-- root/root 64105 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_portgroups.py -rw-r--r-- root/root 99129 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_ports.py -rw-r--r-- root/root 8162 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_ramdisk.py -rw-r--r-- root/root 2440 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_root.py -rw-r--r-- root/root 13835 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_types.py -rw-r--r-- root/root 28744 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_utils.py -rw-r--r-- root/root 2502 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_versions.py -rw-r--r-- root/root 2184 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_volume.py -rw-r--r-- root/root 46793 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_volume_connectors.py -rw-r--r-- root/root 44835 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/api/v1/test_volume_targets.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/__init__.py -rw-r--r-- root/root 2687 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/test_conductor.py -rw-r--r-- root/root 9066 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/cmd/test_dbsync.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/__init__.py -rw-r--r-- root/root 36754 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_cinder.py -rw-r--r-- root/root 3060 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_context.py -rw-r--r-- root/root 36176 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_driver_factory.py -rw-r--r-- root/root 2913 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_exception.py -rw-r--r-- root/root 3719 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_fsm.py -rw-r--r-- root/root 37409 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_glance_service.py -rw-r--r-- root/root 3255 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_hash_ring.py -rw-r--r-- root/root 18000 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_image_service.py -rw-r--r-- root/root 42073 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_images.py -rw-r--r-- root/root 4001 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_keystone.py -rw-r--r-- root/root 14895 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_network.py -rw-r--r-- root/root 37945 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_neutron.py -rw-r--r-- root/root 6655 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_policy.py -rw-r--r-- root/root 38709 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_pxe_utils.py -rw-r--r-- root/root 11359 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_raid.py -rw-r--r-- root/root 7824 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_release_mappings.py -rw-r--r-- root/root 8223 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_rpc.py -rw-r--r-- root/root 2255 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_rpc_service.py -rw-r--r-- root/root 1461 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_states.py -rw-r--r-- root/root 8670 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_swift.py -rw-r--r-- root/root 26342 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_utils.py -rw-r--r-- root/root 2927 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/common/test_wsgi_service.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/__init__.py -rw-r--r-- root/root 8111 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/mgr_utils.py -rw-r--r-- root/root 2098 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test__mgr_utils.py -rw-r--r-- root/root 24142 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_base_manager.py -rw-r--r-- root/root 316606 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_manager.py -rw-r--r-- root/root 9639 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_notification_utils.py -rw-r--r-- root/root 20153 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_rpcapi.py -rw-r--r-- root/root 49551 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_task_manager.py -rw-r--r-- root/root 74243 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conductor/test_utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/__init__.py -rw-r--r-- root/root 2394 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/conf/test_auth.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/__init__.py -rw-r--r-- root/root 2239 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/base.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/__init__.py -rw-r--r-- root/root 1448 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_api.py -rw-r--r-- root/root 30775 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py -rw-r--r-- root/root 3385 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/sqlalchemy/test_types.py -rw-r--r-- root/root 5667 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_api.py -rw-r--r-- root/root 3335 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_chassis.py -rw-r--r-- root/root 18882 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_conductor.py -rw-r--r-- root/root 4539 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_node_tags.py -rw-r--r-- root/root 26979 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_nodes.py -rw-r--r-- root/root 9199 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_portgroups.py -rw-r--r-- root/root 5442 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_ports.py -rw-r--r-- root/root 6721 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_volume_connectors.py -rw-r--r-- root/root 7546 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/test_volume_targets.py -rw-r--r-- root/root 15369 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/db/utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/__init__.py -rw-r--r-- root/root 4085 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/test_factory.py -rw-r--r-- root/root 18642 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/dhcp/test_neutron.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ -rw-r--r-- root/root 1001 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/__init__.py -rw-r--r-- root/root 759 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/boot.ipxe -rw-r--r-- root/root 643 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/elilo_efi_pxe_config.template -rw-r--r-- root/root 575 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config.template -rw-r--r-- root/root 988 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_boot_from_volume.template -rw-r--r-- root/root 909 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_volumes.template -rw-r--r-- root/root 631 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/ipxe_config_timeout.template drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/__init__.py -rw-r--r-- root/root 5130 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_common.py -rw-r--r-- root/root 5675 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_management.py -rw-r--r-- root/root 13746 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/cimc/test_power.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/__init__.py -rw-r--r-- root/root 6845 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py -rw-r--r-- root/root 6704 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_common.py -rw-r--r-- root/root 11638 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py -rw-r--r-- root/root 6492 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_job.py -rw-r--r-- root/root 12362 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_management.py -rw-r--r-- root/root 14860 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -rw-r--r-- root/root 5109 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_power.py -rw-r--r-- root/root 59077 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py -rw-r--r-- root/root 822 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/drac/utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py -rw-r--r-- root/root 52035 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py -rw-r--r-- root/root 52062 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py -rw-r--r-- root/root 2923 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py -rw-r--r-- root/root 26714 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -rw-r--r-- root/root 22968 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -rw-r--r-- root/root 28070 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py -rw-r--r-- root/root 10684 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py -rw-r--r-- root/root 5017 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py -rw-r--r-- root/root 4271 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -rw-r--r-- root/root 4241 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -rw-r--r-- root/root 76588 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py -rw-r--r-- root/root 10969 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py -rw-r--r-- root/root 11495 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -rw-r--r-- root/root 22864 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py -rw-r--r-- root/root 20008 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/__init__.py -rw-r--r-- root/root 71193 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_common.py -rw-r--r-- root/root 8872 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_flat.py -rw-r--r-- root/root 20236 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py -rw-r--r-- root/root 3793 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/network/test_noop.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/__init__.py -rw-r--r-- root/root 10872 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_common.py -rw-r--r-- root/root 23866 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy.py -rw-r--r-- root/root 18349 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_deploy_utils.py -rw-r--r-- root/root 4768 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_inspect.py -rw-r--r-- root/root 16274 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_management.py -rw-r--r-- root/root 15681 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/oneview/test_power.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py -rw-r--r-- root/root 8645 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py -rw-r--r-- root/root 10741 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py -rw-r--r-- root/root 8421 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/__init__.py -rw-r--r-- root/root 31687 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py -rw-r--r-- root/root 59054 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent.py -rw-r--r-- root/root 61131 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -rw-r--r-- root/root 10212 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_agent_client.py -rw-r--r-- root/root 26542 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_console_utils.py -rw-r--r-- root/root 108163 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py -rw-r--r-- root/root 33377 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_image_cache.py -rw-r--r-- root/root 9167 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_inspector.py -rw-r--r-- root/root 122471 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py -rw-r--r-- root/root 50994 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -rw-r--r-- root/root 2666 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_noop.py -rw-r--r-- root/root 59467 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_pxe.py -rw-r--r-- root/root 66318 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/test_snmp.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/__init__.py -rw-r--r-- root/root 7283 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_helper.py -rw-r--r-- root/root 6124 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_management.py -rw-r--r-- root/root 15211 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/modules/ucs/test_power.py -rw-r--r-- root/root 763 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/pxe_config.template -rw-r--r-- root/root 673 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/pxe_grub_config.template -rw-r--r-- root/root 18619 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_base.py -rw-r--r-- root/root 6591 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_cisco.py -rw-r--r-- root/root 6293 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_drac.py -rw-r--r-- root/root 5086 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_fake.py -rw-r--r-- root/root 4063 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_generic.py -rw-r--r-- root/root 7620 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_ilo.py -rw-r--r-- root/root 6400 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_ipmi.py -rw-r--r-- root/root 7636 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_irmc.py -rw-r--r-- root/root 7886 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_oneview.py -rw-r--r-- root/root 6461 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_pxe.py -rw-r--r-- root/root 2045 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_redfish.py -rw-r--r-- root/root 1914 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_snmp.py -rw-r--r-- root/root 16880 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/test_utils.py -rw-r--r-- root/root 3360 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -rw-r--r-- root/root 10925 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/__init__.py -rw-r--r-- root/root 6011 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_chassis.py -rw-r--r-- root/root 7074 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_conductor.py -rw-r--r-- root/root 5020 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_fields.py -rw-r--r-- root/root 12002 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_node.py -rw-r--r-- root/root 11955 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_notification.py -rw-r--r-- root/root 40621 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_objects.py -rw-r--r-- root/root 9282 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_port.py -rw-r--r-- root/root 7658 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_portgroup.py -rw-r--r-- root/root 9581 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_volume_connector.py -rw-r--r-- root/root 9931 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/test_volume_target.py -rw-r--r-- root/root 8869 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/objects/utils.py -rw-r--r-- root/root 1666 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/policy_fixture.py -rw-r--r-- root/root 5877 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/raid_constants.py -rw-r--r-- root/root 2193 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/tests/unit/stubs.py -rw-r--r-- root/root 705 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic/version.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/ -rw-r--r-- root/root 607 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/README.rst -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/__init__.py -rw-r--r-- root/root 1909 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/clients.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/__init__.py -rw-r--r-- root/root 1421 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/utils.py -rw-r--r-- root/root 4739 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/common/waiters.py -rw-r--r-- root/root 5315 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/config.py -rw-r--r-- root/root 24349 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/manager.py -rw-r--r-- root/root 1599 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/plugin.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/__init__.py -rw-r--r-- root/root 9344 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/base.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json/__init__.py -rw-r--r-- root/root 23377 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/__init__.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/__init__.py -rw-r--r-- root/root 993 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/api_microversion_fixture.py -rw-r--r-- root/root 13094 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/base.py -rw-r--r-- root/root 1731 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py -rw-r--r-- root/root 3431 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_chassis.py -rw-r--r-- root/root 2123 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_drivers.py -rw-r--r-- root/root 17215 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_nodes.py -rw-r--r-- root/root 8863 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_nodestates.py -rw-r--r-- root/root 3278 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_portgroups.py -rw-r--r-- root/root 14778 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_ports.py -rw-r--r-- root/root 18808 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py -rw-r--r-- root/root 9593 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_volume_connector.py -rw-r--r-- root/root 9093 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/api/admin/test_volume_target.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/__init__.py -rw-r--r-- root/root 8134 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/baremetal_manager.py -rw-r--r-- root/root 13089 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone/ -rw-r--r-- root/root 0 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone/__init__.py -rw-r--r-- root/root 4732 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py -rw-r--r-- root/root 6027 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py -rw-r--r-- root/root 6125 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/test_baremetal_boot_from_volume.py -rw-r--r-- root/root 5786 2017-10-31 14:00 ./usr/lib/python2.7/dist-packages/ironic_tempest_plugin/tests/scenario/test_baremetal_multitenancy.py drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-10-31 14:02 ./usr/share/doc/python-ironic/ -rw-r--r-- root/root 1353 2017-10-31 14:00 ./usr/share/doc/python-ironic/README.rst -rw-r--r-- root/root 3312 2017-10-31 14:02 ./usr/share/doc/python-ironic/changelog.Debian.gz -rw-r--r-- root/root 1667 2017-10-31 14:02 ./usr/share/doc/python-ironic/copyright -rw-r--r-- root/root 1745 2017-10-31 14:00 ./usr/share/doc/python-ironic/requirements.txt -rw-r--r-- root/root 988 2017-10-31 14:00 ./usr/share/doc/python-ironic/test-requirements.txt +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build-Space: 42852 Build-Time: 108 Distribution: artful Host Architecture: amd64 Install-Time: 75 Job: ironic_9.1.2.dev19.201710311400.artful-0ubuntu1.dsc Machine Architecture: amd64 Package: ironic Package-Time: 184 Source-Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 Space: 42852 Status: successful Version: 1:9.1.2.dev19.201710311400.artful-0ubuntu1 -------------------------------------------------------------------------------- Finished at 20171031-1412 Build needed 00:03:04, 42852k disc space RUN: /usr/share/launchpad-buildd/slavebin/in-target scan-for-processes --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 Scanning for processes to kill in build PACKAGEBUILD-13649182 RUN: /usr/share/launchpad-buildd/slavebin/in-target umount-chroot --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 Stopping target for build PACKAGEBUILD-13649182 RUN: /usr/share/launchpad-buildd/slavebin/in-target remove-build --backend=chroot --series=artful --arch=amd64 PACKAGEBUILD-13649182 Removing build PACKAGEBUILD-13649182